去哪网2015面试题:[编程题] 首个重复字符
2015-09-11 09:36
537 查看
对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。
给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。
测试样例:
返回:y
很明显的是要用hash来做。要求第一个重复出现的次数,顺序遍历,若有 >=2 则直接输出。
给定一个字符串(不一定全为字母)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]; } } } };
相关文章推荐
- 浙江大华2011.10.10校园招聘会笔试题
- 程序员的自我修养
- 剑指Offer面试题:27.最小的k个数
- 成年人的崩溃是需要提前计划的
- 关于PHP程序员解决问题的能力
- 程序员素质
- 命中注定码农路[开篇]
- 黑马程序员——oc之动态类型检测
- 黑马程序员——oc之继承
- 黑马程序员——oc之多态
- 黑马程序员——oc之self的使用
- ButterKnife Android程序员的一大利器
- 黑马程序员--学习笔记--IO流File文件操作
- 黑马程序员——oc之Foundation框架
- Android面试自我介绍
- 剑指Offer第四章面试题(Java版)
- 面试必备:文本框与按钮的最简组合
- 面试题5:从尾到头打印链表
- 初级程序员学习网址搜集(持续更新)
- 黑马程序员—–UDP协议传输