| 1. 两数之和 | 跟其它oj系统不一样,不是简单的A+B了,掌握双指针解法 |
5. 最长回文子串 647. 回文子串 | 中心扩展算法与马拉车算法 |
| 31. 下一个排列 | 字典序的下一个排列 |
| 34. 在排序数组中查找元素的第一个和最后一个位置 | 二分查找的"左右"侧查找方式 |
46. 全排列 47. 全排列 II | 全排列 |
78. 子集 90. 子集 II | 全子集 |
| 50. Pow(x, n) | 快速幂 |
70. 爬楼梯 1137. 第 N 个泰波那契数 2851. 字符串转换 | 矩阵快速幂 |
| 56. 合并区间 | 区间合并 |
| 89. 格雷编码 | 格雷编码 |
94. 二叉树的中序遍历 144. 二叉树的前序遍历 145. 二叉树的后序遍历 | 二叉树三种遍历方式 |
105. 从前序与中序遍历序列构造二叉树 106. 从中序与后序遍历序列构造二叉树 889. 根据前序和后序遍历构造二叉树 | 根据任意两种二叉树遍历还原二叉树 |
136. 只出现一次的数字 268. 丢失的数字 | 位运算异或性质 |
169. 多数元素 229. 多数元素 II | 摩尔投票 |
| 206. 反转链表 | 链表头插法 |
| 231. 2 的幂 | 获取二进制最低位1以及去除最低位1 |
| 28. 找出字符串中第一个匹配项的下标 | kmp 模板 |
| 459. 重复的子字符串 | kmp 中的 next 数组理解 |
| 2223. 构造字符串的总得分和 | 扩展kmp(z-box) |
| 120. 三角形最小路径和 | 典中典之自顶向下dp |
| 137. 只出现一次的数字 II | 数字电路设计 |
142. 环形链表 II 287. 寻找重复数 | 快慢指针(floyd 判圈) |
146. LRU 缓存 460. LFU 缓存 | 双向链表 |
| 204. 计数质数 | 质数模板,埃氏筛,线性筛 |
| 208. 实现 Trie (前缀树) | 字典树模板 |
| 261. 以图判树 | 判断图是否为树 |
271. 字符串的编码与解码 297. 二叉树的序列化与反序列化 428. 序列化和反序列化 N 叉树 | 序列化与反序列化 |
| 300. 最长递增子序列 | 一维最长递增子序列 |
| 354. 俄罗斯套娃信封问题 | 二维最长递增子序列 |
| 304. 二维区域和检索 - 矩阵不可变 | 二维前缀和 |
| 307. 区域和检索 - 数组可修改 | 一维树状数组、线段树模板 |
| 308. 二维区域和检索 - 可变 | 二维树状数组、线段树 |
| 343. 整数拆分 | 主要是里面的数学方法结论 |
| 382. 链表随机节点 | 水塘抽样 |
| 462. 最小操作次数使数组元素相等 II | 中位数结论 |
| 469. 凸多边形 | 判断凸多边形 |
| 489. 扫地机器人 | 交互题理解回溯 |
| 547. 省份数量 | 并查集模板 |
| 877. 石子游戏 | 典中典之先手必胜 |
1143. 最长公共子序列 1092. 最短公共超序列 | lcs |
| 2736. 最大和查询 | 二分单调栈 |
| 2104. 子数组范围和 | 单调栈求"管辖区域" |
| 2281. 巫师的总力量和 | 单调栈求"管辖区域",区间内所有子数组求和的总和公式 |
| 2536. 子矩阵元素加 1 | 二维差分 |
1201. 丑数 III 2927. 给小朋友们分糖果 III | 容斥原理 |
| 1227. 飞机座位分配概率 | 有趣的概率题 |
| 1382. 将二叉搜索树变平衡 | 尝试手撕avl |
1503. 所有蚂蚁掉下来前的最后一刻 2731. 移动机器人 | 有趣的脑筋急转弯 |
1584. 连接所有点的最小费用 1135. 最低成本连通所有城市 | 最小生成树 |
| 1245. 树的直径 | 树的直径 |
| 214. 最短回文串 | Rabin-Karp算法,正反向滚动哈希 |
| 1044. 最长重复子串 | Rabin-Karp算法,"前缀和"滚动哈希 |
| 233. 数字 1 的个数 | 数位dp模板 |
| 1397. 找到所有好字符串 | 数位dp + kmp |
| 587. 安装栅栏 | 二维凸包模板 |
| 1924. 安装栅栏 II | welzl算法,最小包围球 |
| 770. 基本计算器 IV | 这题应该是力扣里语义解释题中最难的了,过了这题,其它类似的题随便秒 |
| 803. 打砖块 | 逆向思维题,所谓正难则反 |
| 850. 矩形面积 II | 扫描线 模板 |
| 1515. 服务中心的最佳位置 | 梯度下降法 |
| 1192. 查找集群内的关键连接 | tarjan求割点与桥模板题 |
| LCP 54. 夺回据点 | tarjan缩点 |
| 1483. 树节点的第 K 个祖先 | 树上倍增 |
236. 二叉树的最近公共祖先 2846. 边权重均等查询 2277. 树中最接近路径的节点 | lca模板,树上倍增算法,tarjan算法 |
| 2646. 最小化旅行的价格总和 | lca + 树上差分 |
| 2514. 统计同位异构字符串数目 | 排列数计算公式,获取有多少种排列 |
| 1830. 使字符串有序的最少操作次数 | 排列数计算公式,获取有多少种排列比现排列字典序小 |
| 2608. 图中的最短环 | 图的最短环 |
| 2360. 图中的最长环 | 图的最长环 |
| 14. 最长公共前缀 | lcp |
| 2573. 找出对应 LCP 矩阵的字符串 | lcp还原字符串 |
805. 数组的均值分割 LCP 82. 万灵之树 | 折半搜索 |
| 2123. 使矩阵中的 1 互不相邻的最小操作数 | 匈牙利算法(ntr算法),用于二分图最小点覆盖,即二分图最大匹配数 |
1908. Nim 游戏 II 2005. 斐波那契树的移除子树游戏 | 博弈论 Sprague-Grundy定理 |
LCP 74. 最强祝福力场 1956. 感染 K 种病毒所需的最短时间 | 最多重叠区域 |
| 2204. 无向图中到环的距离 | 无向基环树 |
2876. 有向图访问计数 2836. 在传球游戏中最大化函数值 | 内向基环树 |
| 2753. 计算一个环形街道上的房屋数量 II | 有趣的交互题 |
| 2979. 最贵的无法购买的商品 | 麦乐鸡定理(Chicken McNugget Theorem) |
| LCP 57. 打地鼠 | {:width=400} ac前提下,跑得最久的题 |