hot100思路总结
Hot100
哈希
- 两数之和
遍历同时用map记录已经遍历过的元素
- 字母异位词分组
单词字典排序作为key,原单词作为value,最后取出map中的value作为切片
- 最长连续序列
map记录每个数,遍历map,从最小的数开始找记录长度
双指针
- 移动零
同向双指针,一个遍历元素,一个标记非零元素
- 盛最多水的容器
相向双指针,接水问题,高度由较短的一边决定
- 三数之和
排序,固定一个数后还是两数之和,相向双指针,关键是注意去重
- 接雨水
一个位置一个桶,一个桶两个边,桶盛水量由“前后缀的较小方决定”。每次更新左右其中一个桶,相向双指针
滑动窗口
- 无重复字符的最长子串(耐考王)
map记录子串元素出现次数,同向双指针->只出现一次
- 找到字符串中所有字母异位词
map记录目标元素出现次数,同向双指针->和目标元素出现次数一致
子串
- 和为 K 的子数组
子数组和问题->前缀和的差,用map记录前缀出现次数