华为OJ(找出字符串中第一个只出现一次的字符)
2015-08-10 11:33
453 查看
题目本来很简单,想用map实现,但还是too young,动手太少,代码很简单:
#include<iostream> #include<map> #include<string> using namespace std; int main() { string str; char temp; bool flag=false; map<char,int> word; getline(cin,str); for(int i=0;i<str.size();++i) ++word[str[i]]; for(int i=0;i<str.size();++i) { temp=str[i]; if(word[temp]==1)<span style="white-space:pre"> </span>//开始错写成if(word.count(temp)==1) { flag=true; break; } } if(flag==false) temp='.'; cout<<temp<<endl; //system("pause"); return 0; }我就纳闷怎么答案不对呢,原来时间太长忘了count的功能是对键的计数,对map而言,count返回值只能是0或1
相关文章推荐
- hdu4813 Hard Code
- Android 进入后台触发的事件,一般用于APP屏幕解锁
- 这个月需要做什么?
- android 自定义ProgressBar
- 黑马程序员——注解
- 什么是SysWow64
- 编译android5.0源码的
- Ajax--跨域访问的三种方法
- jQuery解决input超多的表单提交
- 最大流dinic模板
- Eclipse抛出GC overhead limit exceeded异常问题的分析与解决
- python yield使用技巧
- Wireless Network
- 求一个数组中超过数组长度一半的元素
- bzoj4034
- ios 判断空字符串
- 【原创】驱动卸载之DeleteService
- poj-2406 Power Strings
- jQuery实现的图文高亮滚动切换特效实例
- GCD各种队列