set 和 map 常见操作
insert, find, erase, change(map),count
set:
record.find(x) != record.end() //查看set里面有没有x这个元素
res_set.insert(x) // 在set中插入x这个值
unordered_set<int> record(nums1.begin(), nums1.end()) //将vector的值赋值给set
vector<int> res_vector(res_set.begin(),res_set.end()) //将set的值赋值给vector
map:
record.count(x) //判断record哈希表中有没有x
LeetCode 349 两个数组的交集,方法:set的使用

LeetCode 350 两个数组的交集II, 方法:map的使用

LeetCode 242 有效的字母异位词(练习),完成,方法:hash_map

LeetCode 202 快乐数(练习), 完成,方法:用哈希集合检测循环

LeetCode 290 单词规律(练习), 完成,方法:双哈希表

LeetCode 205 同构字符串(练习), 完成, 方法:双哈希表

LeetCode 451 根据字符出现频率排序(练习), 完成,方法:哈希表+对含pair的vector排序
sort(vec.begin(), vec.end(), [](const pair<char,int> &a, const pair<char,int> &b){return a.second > b.second;});

LeetCode 1 两数之和,方法哈希map

LeetCode 15 三数之和(练习),完成,方法:双指针。hash表效率很低

LeetCode 18 四数之和(练习),完成,方法:双指针

LeetCode 16 最接近三数之和(练习)完成,方法:双指针。

LeetCode 454 四数相加

LeetCode 49 字母异位词分组(练习),完成,方法:哈希表
vector<vector<string>> res;
unordered_map<string,vector<string>> record;
for(auto it = record.begin(); it != record.end(); ++it){
res.push_back(it->second);
}

LeetCode 447 回旋镖的数量

LeetCode 149 直线上最多的点数(练习)

LeetCode 219 存在重复元素, 方法:滑动窗口+set查找

LeetCode 217 存在重复元素(练习)

LeetCode 220 存在重复元素III, 方法:使用record.lower_bound()

网友评论