一句话的代码,从集合中找出第一个重复字符的方法javascript版。

有的时候需求是这样的:

找出集合中第一个重复的字符所在的位置,刚才看了园内某自许为算法的代码,感觉非常之啰嗦故写了以下代码!

本人对神马算法之类的完全不懂,但那些伪算法家们也别出来装蒜。一句话:不要欺负俺没文化好不好!

别的不说看代码:

Array.prototype.searchFirstNotRepeat = function () {
var curArr = this, val;

while (-1 == (val = curArr.indexOf(curArr.shift())));

return val;
};

conole.log([1, 1, 2, 3, 4, 5, 3].searchFirstNotRepeat());

  

时间: 2024-10-25 19:01:00

一句话的代码,从集合中找出第一个重复字符的方法javascript版。的相关文章

在一段英文字母中找出每个字母重复数量的方法(Java)

首先需要了解下java的hashmap数据类型: hashmap是基于哈希表的Map接口的实现.hashmap有两个元素,一个是key(键名),一个是value(键值),就相当于一个字典了,和Python里的字典是一样的. 在一段英文字母中找出每个字母重复数量的实现原理: 将文字中出现的字母,作为键名(key),出现的次数作为键值(value),hashmap中的键名是不能重复的,那么统计这些字母的数量,就变成了统计这些相同键名的数量. 实现方式可以是从第一个字母开始,把字母存到哈希表中去,第一

在字符串中找出第一个只出现一次的字符。 如输入“abaccdeff”,则输出'b'。

在字符串中找出第一个只出现一次的字符. 如输入"abaccdeff",则输出'b'. 这个题加一些要求维度只能为n 代码如下: #include <stdio.h> #include <assert.h> char FLetter(char arry[],int len) {              int letterNumber[256] = {0};              int i = 0;              char *ch  = arr

【c语言】第一个只出现一次的字符题目:在字符串中找出第一个只出现一次的字符

// 第一个只出现一次的字符题目:在字符串中找出第一个只出现一次的字符. // 如输入"abaccdeff",则输出'b'. #include <stdio.h> #include <string.h> char find_one(char *str) { int a[256]; int len = strlen(str); int i = 0; memset(a, 0, sizeof(a)); for (i = 0; i<len; i++) { a[st

在字符串中找出第一个只出现一次的字符

题目: 在字符串中找出第一个只出现一次的字符.如输入"abaccdeff",则输出'b'. 题目分析: 对于在字符串中找出第一个出现一次的字符,联系ASCII码表,能够得到有256中不同的字符,可以利用字符的编码,将每个字符的编码作为数组的下表,建立一个有256个元素的数组arr[256],将数组中的每一个元素对应统计字符的个数,从字符串的第一个字符进行遍历,遇到一个字符给对应的数组元素加1,当数组中的其中一个元素变到2,则输出这个元素所对应的数组下表,即就是这个字符的ASCII码.

【C语言】在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出’b’

//在字符串中找出第一个只出现一次的字符.如输入"abaccdeff",则输出'b' #include <stdio.h> #include <memory.h> char OneTime(char * str) { int data[256]; char *p = str; if (*p == '\0') return '\0'; memset(data, 0, sizeof(data)); while (*p ) { data[*p++]++; //把每种字

在字符串中找出第一个只出现一次的字符串,如输入&quot;abaccdeff&quot;,输出&#39;b&#39;

在字符串中找出第一个只出现一次的字符串,如输入"abaccdeff",输出'b' 1 char firstNotRepeatingChar(char *str) 2 { 3 /* hash表存储 每个可能出现的字符作为索引值 数组内容即为出现的次数 */ 4 char ret = '\0'; 5 // 1.建立hashtable 6 const int size = 256; 7 // 全部初始化为0 8 int hashtable[size] = {0}; 9 char *hashK

快速从2个List集合中找出相同/不同元素

最近刚好涉及到从2个不同集合中找出不同的元素的需求,以下为测试代码 1.利用 apache collection 工具内中的方法,附上坐标 <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> c

数论 - 整除问题 --- 整数集合中找出3的最大倍数

Mean: 题目描述:给一个包含非负整数的数组(长度为n),找出由这些数字组成的最大的3的倍数,没有的话则输出impossible. analyse: 首先想到的就是直接暴力,这是最蠢的方法,数据一大的话,必会TLE. 直接用蛮力的话,生成所有的组合,为 2^n个,对每个数字再进行比较判断,需要 O(n)的时间,因为n可能会比较大,需要每个位的比较.总的时间复杂度为O(n * 2^n). 那么到底要怎么做呢? 首先我们来了解几个数学知识: 1)一个数n对m取余的余数为a1,b为n的每一位数字的和

在字符串中找出第一个只出现一次的字符。

#include <stdio.h> #include <string.h> char found(char str[]) { int i=0; int j=0; int count; int len=strlen(str); for(i=0;i<len;i++) { count=0;       //每次执行外层循环时count都要置0 for(j=len-1;j>=0;j--) { if(str[i]==str[j]) { count++; } if(count==