搜狐畅游编程题

对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。 给定一个字符串(不一定全为字母)A。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。
全部评论
int char_hash[256] = {0}; for(int i = 0; i < str.size(); i++){     char_hash[str[i]]++;     if(char_hash[str[i]] == 2){         cout << str[i];         return 0;     } }
点赞 回复 分享
发布于 2017-09-17 11:59
我AC了,string转char,然后建了一个hashmap,判断contains,如果map里有重复的就输出然后break就行了
点赞 回复 分享
发布于 2017-09-17 14:50
hashset就一直往里放,放一个字符前后set大小没变化就说明重复了
点赞 回复 分享
发布于 2017-09-17 14:29
直接一个数组保存就行了。
点赞 回复 分享
发布于 2017-09-17 13:44
C#代码搞一波:     class Main()     {         static void Main()         {             string str = Console.ReadLine();             getnum(str);             Console.ReadKey();         }         static void getnum(string s)         {             char[] arr = new char[s.Length];             arr = s.ToCharArray();             for (int i = 0; i < s.Length; i++)             {                 for (int j = i + 1; j < s.Length; j++)                 {                     if (arr[j].Equals(arr[i]))                     {                         Console.WriteLine(arr[j]);                         return;                     }                 }             }         }     }
点赞 回复 分享
发布于 2017-09-17 12:18
多谢大佬们
点赞 回复 分享
发布于 2017-09-17 12:10
自建哈希表。
点赞 回复 分享
发布于 2017-09-17 11:56
甩一个set,有contain方法搞定
点赞 回复 分享
发布于 2017-09-17 11:52
何解啊
点赞 回复 分享
发布于 2017-09-17 11:47

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务