双非代码训练营|奋斗第四天|哈希表与字典

LeetCode 242 有效的字母异位词

LeetCode 349 两个数组的交集

LeetCode 202 快乐数

LeetCode 1 两数之和

当我们要快速判断一个元素是否出现在集合里,要首先想到哈希表

首先考虑数组形式,数组是最直接的,运行速度是最快的;而set和map的结构比数组复杂,且因为含有key,每次都要进行一次哈希运算做一个映射,较费时。(C#里叫hashSet和dictionary)

但如果哈希值比较大的话,用数组就不合适了

当我们要使用集合来解决哈希问题的时候,优先使用unordered_set,因为它的查询和增删效率是最优的,如果需要集合是有序的,那么就用set,如果要求不仅有序还要有重复数据的话,那么就用multiset。(C++才有上述分类)

如果没规定数组大小,可以用Set解决

如果规定了数组大小在某个范围,可以用数组解决

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务