Created
May 26, 2014 15:07
-
-
Save jikeytang/2dff9493143e25ab8463 to your computer and use it in GitHub Desktop.
[ Javascript ] - 20140527-题目1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
一个字符串,找出这个字符串的第一对重复的字符 | |
如 abcdefgjikuoa 第一对重复的字符是’a’ | |
如 abcdegfeter 第一对重复的字符 ‘e’ | |
PS: | |
1. 回复时注意加上下面这句话,才会有语法高亮或格式缩进。 | |
```javascript | |
// you code | |
``` | |
2. 粘贴代码时请使用shift+tab,缩进前面的空白。 |
chriswenwu
commented
May 27, 2014
//最近这类题好多啊。
var test = function(){
var str = "abcdegfeter",
i = 0,
length = str.length,
obj = {},
cache;
for(;i<length;i++){
cache = str.slice(i,i+1);
if(obj[cache]){
return cache;
}
obj[cache] = 1;
}
};
function test(str){
var arr1 = str.split(""),
length = arr1.length;
for(var i = 0;i<length;i++){
for(var j = i+1;j<length;j++){
if(arr1[i]==arr1[j]){
return arr1 [i];
}
};
};
};
console.log(test("abcdefgjikuoa"));
//使用ES5的数组的filter
function getSame(arr){
var uniqArr = [];
return arr.filter(function(item){
if(uniqArr.indexOf(item) == -1){
uniqArr.push(item);
} else {
return true;
}
});
}
console.log(getSame("abcdefgjikuoa".split(""))[0]);
console.log(getSame("abcdegfeter".split(""))[0]);
function getStr(str){
return str.match(/(.+).*?\1/)[1];
}
getStr("abcdefgjikuoa"); // a
getStr("abcdegfeter"); // e
getStr("abcdegfeabter"); //ab
@mailzwj 这个就不行啊
'dsgfdhsfdsgasfsdhyfguj'
写完之后发现跟@ wzc602003869 基本一样,基本方法都被写全了。
function findRepeat(str){
var arr = str.split(''),
len = arr.length;
for(var i=1;i<=len;i++){
for(var j=i;j<i;j++){
if(arr[i]==arr[j]){
return arr[i];
}
}
}
return false;
}
console.log(findRepeat('abcdefgg'));
把所有方法转移到放到http://jsperf.com/find-repeat 上跑了下。@mailzwj的方法遇到无重复或多个连续重复有问题,所有没跑。
真是凶啊 没啥写的了
function a (x) {
var item;
for(var i = 0; i < x.length; i++){
if(x.split(x[i]).length > 2) return x[i];
}
}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment