C++哈希表unordered_map,推荐使用。
来源:互联网 发布:阿里云控制台 编辑:程序博客网 时间:2024/06/05 07:05
在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符,并返回它的位置
解法1:使用数组,int hash[256];
这题我竟然在想其他的歪点子,没想到第二次直接从数组0位置开始遍历(好蠢)(而不是哈希容器),不要动不动就想遍历哈希容器。
class Solution {public: int FirstNotRepeatingChar(string str) { if(str.empty()) return -1; vector<int> hash(256,0); for (auto ch:str) ++hash[ch-'0']; for (int i = 0; i < str.length(); ++i) { if(hash[str[i]-'0']==1) return i; } return 0; //非常必须. }};解法二:使用unordered_map<char,int> 默认初始化为0;
注意不要在条件语句中return ,一定要有主return,不要在条件语句中return
class Solution {public: int FirstNotRepeatingChar(string str) { if(str.empty()) return -1; unordered_map<char,int> hash; for (auto ch:str) ++hash[ch]; for (int i = 0; i < str.length(); ++i) { if(hash[str[i]]==1) return i; } return 0;//非常必须。 }};
0 0
- C++哈希表unordered_map,推荐使用。
- C++unordered_map使用例子
- c++: unordered_map
- STL: unordered_map 自定义键值类型的使用(C++)
- 【c++】unordered_set和unordered_map
- hash_map,unordered_map的使用
- unordered_map的使用
- 哈希表之unordered_map
- unordered_map
- unordered_map
- unordered_map
- unordered_map
- unordered_map -
- unordered_map
- unordered_map
- unordered_map
- unordered_map
- unordered_map
- 棋盘覆盖(分治、递归)
- 性能调优之:缓存
- Eclipse 下创建一个 JSP + Servelt 项目
- 输入外挂
- 线程-volatile关键字
- C++哈希表unordered_map,推荐使用。
- 升级内存,插上两个内存条显示单通道,怎么设置为双通道
- 域名解析过程
- Subtree with Maximum Average
- MQTT协议(三) PUBLISH
- TTF 字体文件 删除不了,提示已经在System 打开
- 关于Unity3D中对象池的创建与回收
- 问题 M: 因子个数
- Mac下配置Tomcat,输入startup.sh后提示command not found