本文主要是介绍187. 重复的DNA序列——附unordered_map基本内容,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
class Solution {
public:vector<string> findRepeatedDnaSequences(string s) {unordered_map<string, int> map;vector<string> vecStr;if(s.size()<=10) //样例不一定长度大于10return vecStr;for(int i = 0; i <= s.size() - 10; i++){ //计算每一个出现的次数string str = s.substr(i, 10);if(map.find(str) != map.end())map.find(str)->second++;else{map.insert(pair<string, int>(str, 1));}}for (auto i = map.begin(); i != map.end(); i++){ //出现次数大于1次的添加进来if(i -> second > 1)vecStr.push_back(i -> first);}return vecStr;}
};
Accepted
31/31 cases passed (44 ms)
Your runtime beats 77.64 % of cpp submissions
Your memory usage beats 23.79 % of cpp submissions (22.9 MB)
unordered_map的迭代器是一个指针,指向这个元素,通过迭代器来取得它的值。
1 unordered_map<Key,T>::iterator it;
2 (*it).first; // the key value (of type Key)
3 (*it).second; // the mapped value (of type T)
4 (*it); // the "element value" (of type pair<const Key,T>)
它的键值分别是迭代器的first和second属性。
1 it->first; // same as (*it).first (the key value)
2 it->second; // same as (*it).second (the mapped value)
成员函数:
================= 迭代器 =========================
begin 返回指向容器起始位置的迭代器(iterator)
end 返回指向容器末尾位置的迭代器
cbegin 返回指向容器起始位置的常迭代器(const_iterator)
cend 返回指向容器末尾位置的常迭代器
================= Capacity ================
size 返回有效元素个数
max_size 返回 unordered_map 支持的最大元素个数
empty 判断是否为空
================= 元素访问 =================
operator[] 访问元素
at 访问元素
================= 元素修改 =================
insert 插入元素
erase 删除元素
swap 交换内容
clear 清空内容
emplace 构造及插入一个元素
emplace_hint 按提示构造及插入一个元素
================ 操作 =========================
find 通过给定主键查找元素,没找到:返回unordered_map::end
count 返回匹配给定主键的元素的个数
equal_range 返回值匹配给定搜索值的元素组成的范围
================ Buckets ======================
bucket_count 返回槽(Bucket)数
max_bucket_count 返回最大槽数
bucket_size 返回槽大小
bucket 返回元素所在槽的序号
load_factor 返回载入因子,即一个元素槽(Bucket)的最大元素数
max_load_factor 返回或设置最大载入因子
rehash 设置槽数
reserve 请求改变容器容量
这篇关于187. 重复的DNA序列——附unordered_map基本内容的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!