查找问题汇集

两类查找问题:

  • 查找有无:

元素a是否存在? --- 使用set(集合)


  • 查找对应关系(键值对应):

元素a出现了几次? --- 使用map(字典)



[leetcode-349 两个数组的交集]( "leetcode-349 两个数组的交集")

[leetcode-350 两个数组的交集II]( "leetcode-350 两个数组的交集II")

哈希表的缺点是 失去了数据的顺序性

C++,map和set的底层实现为平衡二叉树,

unordered_map和unordered_set的底层实现为哈希表

leetcode-242 有效的字母异位词[1]

[leetcode-202 快乐数]( "leetcode-202 快乐数")

[leetcode-290 单词规律]( "leetcode-290 单词规律")

[leetcode-205 同构字符串]( "leetcode-205 同构字符串")

[leetcode-451 根据字符出现频率排序]( "leetcode-451 根据字符出现频率排序")

leetcode-1 两数之和[2]

[leetcode-15 三数之和]( "leetcode-15 三数之和")

[leetcode-16 最接近的三数之和]( "leetcode-16 最接近的三数之和")

[leetcode-454 四数相加II]( "leetcode-454 四数相加II")

[leetcode-49 字母异位词分组]( "leetcode-49 字母异位词分组")

[leetcode-447 回旋镖的数量]( "leetcode-447 回旋镖的数量")

[leetcode-149 直线上最多的点数]( "leetcode-149 直线上最多的点数")



滑动窗口+查找表

[leetcode-219 存在重复元素II]( "leetcode-219 存在重复元素II")

[leetcode-217 存在重复元素]( "leetcode-217 存在重复元素")

[leetcode-220 存在重复元素III]( "leetcode-220 存在重复元素III")

参考资料

[1]

leetcode-242 有效的字母异位词: https://dashen.tech/2015/03/01/leetcode-242-%E6%9C%89%E6%95%88%E7%9A%84%E5%AD%97%E6%AF%8D%E5%BC%82%E4%BD%8D%E8%AF%8D/

[2]

leetcode-1 两数之和: https://dashen.tech/2015/03/01/leetcode-1-%E4%B8%A4%E6%95%B0%E4%B9%8B%E5%92%8C/

本文由 mdnice 多平台发布

猜你喜欢

转载自blog.csdn.net/techdashen/article/details/132838229