Leetcode Star Problems
Favorite problem list
二分查找
- 2861,1642,275, 300
- 74,240 = 搜索二维数组,稍有不同
- 33 = 搜索旋转数组
- 注意lower_bound,upper_bound的写法,以及找数组中小于等于target/小于target的位置,详见nt_Time Based Key-Value Store.cpp及Leetcode算法笔记.md - 二分查找
双指针(滑动窗口)
- 有三道模板提醒,基本思路一直,解决方法一致
- 713,209, 1297
单调栈
- 1944小黄人高度查看
- 42接雨水
- 84柱状图最大矩形,和42比较类似
hard题
- 135
未解决
特色题
- 212(回溯,图DFS算法,前缀树Trie)
- 752开锁问题(双向BFS查找,类似127单词接龙)
- 1584(kruskal算法,并查集,建立最小生成树)
- 785(并查集,最关键的是偏移分组,在并查集插入的时候进行偏移)
- 76覆盖最小子串(滑动窗口经典题目,)
- 395(medium,最长子序列重复k次字母)利用分治方法划分,有用到部分数学性质
- 365水壶问题,应用到数学的Bézout’s identity贝祖定理,ax + by = z, 当z <= x + y, 并且 z 是 x 和 y 的最大公约数的倍数,那么a,b存在
基础数据结构题
- 设计哈希映射(706)
- 树:426(将一BST转换为双链表,中序遍历递归/迭代版本)