跳转至

P

548. 将数组分割成和相等的子数组

555. 分割连接字符串

666. 路径总和 IV

NP

678. 有效的括号字符串

146. LRU 缓存

3. 无重复字符的最长子串

15. 三数之和

5. 最长回文子串

25. K 个一组翻转链表

46. 全排列

56. 合并区间

560. 和为 K 的子数组

54. 螺旋矩阵

72. 编辑距离

141. 环形链表

165. 比较版本号

215. 数组中的第K个最大元素

279. 完全平方数

面试题 08.13. 堆箱子

1312. 让字符串成为回文串的最少插入次数

4. 寻找两个正序数组的中位数


review

子串

239. 滑动窗口最大值 注意单调性

76. 最小覆盖子串

滑动窗口

438. 找到字符串中所有字母异位词 挺复杂...

双指针

42. 接雨水 经典

15. 三数之和 挺复杂...

哈希

128. 最长连续序列 穿针引线

动态规划

300. 最长递增子序列 以xxx结尾的

技巧

31. 下一个排列

287. 寻找重复数 转化为求环问题

二分

34. 在排序数组中查找元素的第一个和最后一个位置 两次lower_bound

4. 寻找两个正序数组的中位数

155. 最小栈 顾名思义,两个栈

84. 柱状图中最大的矩形 考虑计算时机

回溯

17. 电话号码的字母组合 学习简便做法

数组

56. 合并区间 先按左端点排序

189. 轮转数组 多次reverse

41. 缺失的第一个正数 原地哈希

矩阵

54. 螺旋矩阵 一层层向内收缩

48. 旋转图像 先转置,再水平翻转

240. 搜索二维矩阵 II 从右上角看,二分查找树

链表

160. 相交链表 两个列表接上

234. 回文链表 从mid reverse

19. 删除链表的倒数第 N 个结点 双指针,先走k步

25. K 个一组翻转链表

23. 合并 K 个升序链表