在一个字符串中找出第一次重复出现的字符
2015-09-20 22:54
381 查看
对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。
给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。
测试样例:
给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。
测试样例:
"qywyer23tdd",11
返回:y
思路:使用一个hash数组保存每个变量是否出现过,当第一个出现过时直接返回,由于题目中指出肯定有重复的字符,所以这点不需做考虑;
代码如下:
char findFirstRepeat(string A, int n) { int hash_arr[256] = {0}; for(int i = 0; i < n; i++) if(hash_arr[A[i]] == 0) hash_arr[A[i]] = 1; else return A[i]; }
相关文章推荐
- 数据库设计三大范式
- Oracle 数据库1046事件
- Android 深入浅出之 Binder机制
- 小明的困惑:RelatvieLayout 设置 layout_height="wrap_content" 失效
- 真私有
- 2015第38周日
- 在Vs2012 中使用SQL Server 2012 Express LocalDB打开Sqlserver2012数据库
- 自定义旋转的加载框
- lintcode-跳跃游戏II-117
- 使用SYS_CONTEXT
- nyoj-11 奇偶数分离
- Maven权威指南-----3、一个简单的Maven项目
- 在ROS中使用usb网络摄像头(usb_cam,Arch linux,ROS JADE)
- drools规则语法-API与FACT(三)
- 访问修饰符
- 私有项目免费使用Git
- String的split方法
- 自定义圆角的button
- makefile简单多文件编译
- Google chrome 安装包双击无任何反应