微信扫一扫打赏支持

首个重复字符

首个重复字符

题目描述

对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。

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

测试样例:
"qywyer23tdd",11
返回:y

 

桶排序

 

 1 class FirstRepeat {
 2 public:
 3     int num[200];
 4     char findFirstRepeat(string A, int n) {
 5         // write code here
 6         for(int i=0;i<200;i++){
 7             num[i]=0;
 8         }
 9         for(int i=0;i<n;i++){
10             
11             int m=A[i]-'0';
12             if(num[m]==1) return A[i];
13             num[m]++;
14         }
15         return '0';
16     }
17 };

 

posted @ 2017-10-26 15:18  范仁义  阅读(830)  评论(0编辑  收藏  举报