搜狐畅游编程题

对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。 给定一个字符串(不一定全为字母)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

相关推荐

03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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