您的位置:首页 > 职场人生

去哪网2015面试题:[编程题] 首个重复字符

2015-09-11 09:36 537 查看
对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。

给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。

测试样例:
"qywyer23tdd",11


返回:y

很明显的是要用hash来做。要求第一个重复出现的次数,顺序遍历,若有 >=2 则直接输出。

class FirstRepeat {
public:
char findFirstRepeat(string A, int n) {
// write code here
if(n >= 2 && A.size() == n){
char hash[256];
for(int i = 0;i < 256;++i)
hash[i] = 0;
for(int i = 0;i < n;++i){
++hash[A[i]];
if(hash[A[i]] >= 2)
return A[i];
}

}
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: