1. 程式人生 > >[去哪兒網]首個重復字符

[去哪兒網]首個重復字符

ron wrap question pub item class clas tag n)

時間限制:3秒 空間限制:32768K 熱度指數:33999 本題知識點: 查找

題目描述

對於一個字符串,請設計一個高效算法,找到第一次重復出現的字符。

給定一個字符串(不一定全為字母)A及它的長度n。請返回第一個重復出現的字符。保證字符串中有重復字符,字符串的長度小於等於500。

測試樣例:
"qywyer23tdd",11
返回:y
 1 #include<iostream>
 2 #include<vector>
 3 class FirstRepeat {
 4 public:
 5     char findFirstRepeat(string A, int
n) { 6 // write code here 7 vector<int> Avec; 8 char ch; 9 10 for(int i=0;i<128;i++) 11 Avec.push_back(0);//一共有128個字符 12 13 for(int j=0;j<n;j++) 14 { 15 int index=A[j]; 16 Avec[index]++;
17 if(Avec[index]==2) 18 { 19 ch=A[j]; 20 break; 21 22 } 23 } 24 return ch; 25 } 26 27 };

[去哪兒網]首個重復字符