Skip to content

哈希法总结

  • 只要有这样的需求:检索过去出现的数据。那就可以用哈希法:用哈希表存数据,供后续检索
  • 题目链接指向 代码随想录-哈希表总结篇

用数组做哈希表

  • 数据范围确定,连续排列时,可用数组
    • 26 个小写字母这种就是典型案例
  • 与 map 和 set 对比,少了红黑树链表等数据结构的维护和哈希函数的运算。

对应题目

set 作为哈希表对应题目

  • 349. 两个数组的交集
    • 用 set 存第一个数组的元素,遍历第二个数组时,发现有相同值的元素,就放到结果 set 里
  • 202.快乐数
    • 用 set 存 sum,使 sum 不能重复出现

map 作为哈希表

双指针法

题目:

18.四数之和15.三数之和

方法:

  • 用双指针两个元素,并用条件推动双指针的移动,直到找到我们所需要的元素
  • 双指针的移动可以看做一种遍历,特别在于它是同时遍历两个变量,把需要两个循环完成的事减为一个循环