|
2 | 2 |
|
3 | 3 | ### [数组基础题目](../../Contents/01.Array/01.Array-Basic/02.Array-Basic-List.md)
|
4 | 4 |
|
5 |
| -#### 数组操作题目 |
6 |
| - |
7 |
| -###### |
8 |
| - |
9 |
| -#### 二维数组题目 |
10 |
| - |
11 |
| -###### |
| 5 | +###### 0054. 螺旋矩阵、0048. 旋转图像 |
12 | 6 |
|
13 | 7 | ### [排序算法题目](../../Contents/01.Array/02.Array-Sort/11.Array-Sort-List.md)
|
14 | 8 |
|
15 |
| -#### 冒泡排序题目 |
16 |
| - |
17 |
| -###### |
18 |
| - |
19 | 9 | #### 选择排序题目
|
20 | 10 |
|
21 | 11 | ###### 0215. 数组中的第K个最大元素
|
|
30 | 20 |
|
31 | 21 | #### 归并排序题目
|
32 | 22 |
|
33 |
| -###### 0912. 排序数组 |
| 23 | +###### 0912. 排序数组、0088. 合并两个有序数组 |
34 | 24 |
|
35 | 25 | #### 快速排序题目
|
36 | 26 |
|
37 |
| -###### 0912. 排序数组 |
| 27 | +###### 0912. 排序数组、0169. 多数元素 |
38 | 28 |
|
39 | 29 | #### 堆排序题目
|
40 | 30 |
|
|
48 | 38 |
|
49 | 39 | ###### 0912. 排序数组
|
50 | 40 |
|
51 |
| -#### 基数排序题目 |
| 41 | +#### 其他排序题目 |
52 | 42 |
|
53 |
| -###### 0164. 最大间距 |
| 43 | +###### 0136. 只出现一次的数字、0056. 合并区间、0179. 最大数 |
54 | 44 |
|
55 | 45 |
|
56 | 46 | ### [二分查找题目](../../Contents/01.Array/03.Array-Binary-Search/02.Array-Binary-Search-List.md)
|
57 | 47 |
|
58 | 48 | #### 二分下标题目
|
59 | 49 |
|
60 |
| -###### |
| 50 | +###### 0704. 二分查找、0034. 在排序数组中查找元素的第一个和最后一个位置、0153. 寻找旋转排序数组中的最小值、0033. 搜索旋转排序数组、0162. 寻找峰值、0004. 寻找两个正序数组的中位数、0240. 搜索二维矩阵 II |
61 | 51 |
|
62 | 52 | #### 二分答案题目
|
63 | 53 |
|
64 |
| -###### |
65 |
| - |
66 |
| -#### 复杂的二分查找问题 |
67 |
| - |
68 |
| -###### |
| 54 | +###### 0069. x 的平方根 |
69 | 55 |
|
70 | 56 | ### [双指针题目](../../Contents/01.Array/04.Array-Two-Pointers/02.Array-Two-Pointers-List.md)
|
71 | 57 |
|
72 | 58 | #### 对撞指针题目
|
73 | 59 |
|
74 |
| -###### |
| 60 | +###### 0015. 三数之和 |
75 | 61 |
|
76 | 62 | #### 快慢指针题目
|
77 | 63 |
|
78 |
| -###### |
| 64 | +###### 0283. 移动零、0088. 合并两个有序数组 |
79 | 65 |
|
80 | 66 | #### 分离双指针题目
|
81 | 67 |
|
82 |
| -###### |
| 68 | +###### 0415. 字符串相加 |
83 | 69 |
|
84 | 70 | ### [滑动窗口题目](../../Contents/01.Array/05.Array-Sliding-Window/02.Array-Sliding-Window-List.md)
|
85 | 71 |
|
86 | 72 | #### 固定长度窗口题目
|
87 | 73 |
|
88 |
| -###### |
| 74 | +###### 0239. 滑动窗口最大值 |
89 | 75 |
|
90 | 76 | #### 不定长度窗口题目
|
91 | 77 |
|
92 |
| -###### 0003. 无重复字符的最长子串、 |
| 78 | +###### 0003. 无重复字符的最长子串、0076. 最小覆盖子串、0718. 最长重复子数组 |
93 | 79 |
|
94 | 80 | ## 02. 链表
|
95 | 81 |
|
96 | 82 | ### [链表经典题目](../../Contents/02.Linked-List/01.Linked-List-Basic/02.Linked-List-Basic-List.md)
|
97 | 83 |
|
98 |
| -###### 0206. 反转链表 |
| 84 | +###### 0083. 删除排序链表中的重复元素、0082. 删除排序链表中的重复元素 II、0206. 反转链表、0092. 反转链表 II、0025. K 个一组翻转链表、0234. 回文链表 |
99 | 85 |
|
100 | 86 | ### [链表排序题目](../../Contents/02.Linked-List/02.Linked-List-Sort/02.Linked-List-Sort-List.md)
|
101 | 87 |
|
102 |
| -###### |
| 88 | +###### 0148. 排序链表、0021. 合并两个有序链表、0023. 合并K个升序链表 |
103 | 89 |
|
104 | 90 | ### [链表双指针题目](../../Contents/02.Linked-List/03.Linked-List-Two-Pointers/02.Linked-List-Two-Pointers-List.md)
|
105 | 91 |
|
106 |
| -###### |
| 92 | +###### 0141. 环形链表、0142. 环形链表 II、0160. 相交链表、0019. 删除链表的倒数第 N 个结点、剑指 Offer 22. 链表中倒数第k个节点、0143. 重排链表、0002. 两数相加 |
107 | 93 |
|
108 | 94 | ## 03. 堆栈
|
109 | 95 |
|
110 | 96 | ### [堆栈基础题目](../../Contents/03.Stack/01.Stack-Basic/02.Stack-Basic-List.md)
|
111 | 97 |
|
112 |
| -###### |
| 98 | +###### 0155. 最小栈、0020. 有效的括号、0227. 基本计算器 II、0232. 用栈实现队列、0394. 字符串解码、0032. 最长有效括号 |
113 | 99 |
|
114 | 100 | ### [单调栈](../../Contents/03.Stack/02.Monotone-Stack/02.Monotone-Stack-List.md)
|
115 | 101 |
|
116 |
| -###### |
| 102 | +###### 0042. 接雨水 |
117 | 103 |
|
118 | 104 | ## 04. 队列
|
119 | 105 |
|
120 | 106 | ### [队列基础题目](../../Contents/04.Queue/01.Queue-Basic/02.Queue-Basic-List.md)
|
121 | 107 |
|
122 |
| -###### |
| 108 | +###### 0225. 用队列实现栈 |
123 | 109 |
|
124 | 110 | ### [优先队列题目](../../Contents/04.Queue/02.Priority-Queue/02.Priority-Queue-List.md)
|
125 | 111 |
|
126 |
| -###### |
| 112 | +###### 0023. 合并K个升序链表、0239. 滑动窗口最大值 |
127 | 113 |
|
128 | 114 | ## 05. 哈希表
|
129 | 115 |
|
130 | 116 | ### [哈希表题目](../../Contents/05.Hash-Table/02.Hash-Table-List.md)
|
131 | 117 |
|
132 |
| -###### |
| 118 | +###### 0001. 两数之和、0015. 三数之和、0041. 缺失的第一个正数、0128. 最长连续序列、0136. 只出现一次的数字 |
133 | 119 |
|
134 | 120 | ## 06. 字符串
|
135 | 121 |
|
136 | 122 | ### [字符串基础题目](../../Contents/06.String/01.String-Basic/02.String-Basic-List.md)
|
137 | 123 |
|
138 |
| -###### 0003. 无重复字符的最长子串 |
139 |
| - |
140 |
| -### [单模式串匹配题目](../../Contents/06.String/02.String-Single-Pattern-Matching/07.String-Single-Pattern-Matching-List.md) |
141 |
| - |
142 |
| -###### |
143 |
| - |
144 |
| -### [字典树题目](../../Contents/06.String/03.String-Multi-Pattern-Matching/02.Trie-List.md) |
145 |
| - |
146 |
| -###### |
| 124 | +###### 0003. 无重复字符的最长子串、0005. 最长回文子串、0415. 字符串相加、0151. 颠倒字符串中的单词、0043. 字符串相乘、0014. 最长公共前缀 |
147 | 125 |
|
148 | 126 | ## 07. 树
|
149 | 127 |
|
150 | 128 | ### [二叉树的遍历题目](../../Contents/07.Tree/01.Binary-Tree/03.Binary-Tree-Traverse-List.md)
|
151 | 129 |
|
152 |
| -###### |
| 130 | +###### 0144. 二叉树的前序遍历、0094. 二叉树的中序遍历、0102. 二叉树的层序遍历、0103. 二叉树的锯齿形层序遍历、0236. 二叉树的最近公共祖先、0104. 二叉树的最大深度、0112. 路径总和、0113. 路径总和 II、0101. 对称二叉树、0124. 二叉树中的最大路径和、0199. 二叉树的右视图、0226. 翻转二叉树 |
153 | 131 |
|
154 | 132 | ### [二叉树的还原题目](../../Contents/07.Tree/01.Binary-Tree/05.Binary-Tree-Reduction-List.md)
|
155 | 133 |
|
156 |
| -###### |
| 134 | +###### 0105. 从前序与中序遍历序列构造二叉树 |
157 | 135 |
|
158 | 136 | ### [二叉搜索树题目](../../Contents/07.Tree/02.Binary-Search-Tree/02.Binary-Search-Tree-List.md)
|
159 | 137 |
|
160 |
| -###### |
161 |
| - |
162 |
| -### [线段树题目](../../Contents/07.Tree/03.Segment-Tree/02.Segment-Tree-List.md) |
163 |
| - |
164 |
| -#### 单点更新题目 |
165 |
| - |
166 |
| -###### |
167 |
| - |
168 |
| -#### 区间更新题目 |
169 |
| - |
170 |
| -###### |
171 |
| - |
172 |
| -#### 区间合并题目 |
173 |
| - |
174 |
| -###### |
175 |
| - |
176 |
| -#### 扫描线问题 |
177 |
| - |
178 |
| -###### |
179 |
| - |
180 |
| -### [树状数组题目](../../Contents/07.Tree/04.Binary-Indexed-Tree/02.Binary-Indexed-Tree-List.md) |
181 |
| - |
182 |
| -###### |
| 138 | +###### 0098. 验证二叉搜索树、0110. 平衡二叉树 |
183 | 139 |
|
184 | 140 | ### [并查集题目](../../Contents/07.Tree/05.Union-Find/02.Union-Find-List.md)
|
185 | 141 |
|
186 |
| -###### |
| 142 | +###### 0128. 最长连续序列 |
187 | 143 |
|
188 | 144 | ## 08. 图论
|
189 | 145 |
|
190 | 146 | ### [图的深度优先搜索题目](../../Contents/08.Graph/02.Graph-Traversal/02.Graph-DFS-List.md)
|
191 | 147 |
|
192 |
| -###### |
| 148 | +###### 0200. 岛屿数量、0695. 岛屿的最大面积、0144. 二叉树的前序遍历、0094. 二叉树的中序遍历、0129. 求根到叶子节点数字之和、0124. 二叉树中的最大路径和、0199. 二叉树的右视图、0543. 二叉树的直径、0662. 二叉树最大宽度 |
193 | 149 |
|
194 | 150 | ### [图的广度优先搜索题目](../../Contents/08.Graph/02.Graph-Traversal/04.Graph-BFS-List.md)
|
195 | 151 |
|
196 |
| -###### |
197 |
| - |
198 |
| -### [图的拓扑排序题目](../../Contents/08.Graph/02.Graph-Traversal/06.Graph-Topological-Sorting-List.md) |
199 |
| - |
200 |
| -###### |
201 |
| - |
202 |
| -### [图的生成树题目](../../Contents/08.Graph/03.Gaph-Spanning-Tree/04.Gaph-Spanning-Tree-List.md) |
203 |
| - |
204 |
| -###### |
205 |
| - |
206 |
| -### [单源最短路径题目](../../Contents/08.Graph/04.Graph-Shortest-Path/05.Graph-Single-Source-Shortest-Path-List.md) |
207 |
| - |
208 |
| -###### |
209 |
| - |
210 |
| -### [多源最短路径题目](../../Contents/08.Graph/04.Graph-Shortest-Path/08.Graph-Multi-Source-Shortest-Path-List.md) |
211 |
| - |
212 |
| -###### |
213 |
| - |
214 |
| -### [次短路径题目](../../Contents/08.Graph/04.Graph-Shortest-Path/10.Graph-The-Second-Shortest-Path-List.md) |
215 |
| - |
216 |
| -###### |
217 |
| - |
218 |
| -### [差分约束系统](../../Contents/08.Graph/04.Graph-Shortest-Path/12.Graph-System-Of-Difference-Constraints-List.md) |
219 |
| - |
220 |
| -###### |
221 |
| - |
222 |
| -### [二分图基础题目](../../Contents/08.Graph/05.Graph-Bipartite/02.Graph-Bipartite-Basic-List.md) |
223 |
| - |
224 |
| -###### |
225 |
| - |
226 |
| -### [二分图最大匹配题目](../../Contents/08.Graph/05.Graph-Bipartite/06.Graph-Bipartite-Matching-List.md) |
227 |
| - |
228 |
| -###### |
| 152 | +###### 0200. 岛屿数量、0322. 零钱兑换、0199. 二叉树的右视图、0662. 二叉树最大宽度 |
229 | 153 |
|
230 | 154 | ## 09. 基础算法
|
231 | 155 |
|
232 | 156 | ### [枚举算法题目](../../Contents/09.Algorithm-Base/01.Enumeration-Algorithm/02.Enumeration-Algorithm-List.md)
|
233 | 157 |
|
234 |
| -###### |
| 158 | +###### 0001. 两数之和、0078. 子集、0221. 最大正方形 |
235 | 159 |
|
236 | 160 | ### [递归算法题目](../../Contents/09.Algorithm-Base/02.Recursive-Algorithm/02.Recursive-Algorithm-List.md)
|
237 | 161 |
|
238 |
| -###### 0206. 反转链表 |
| 162 | +###### 0024. 两两交换链表中的节点、0206. 反转链表、0092. 反转链表 II、0021. 合并两个有序链表、0070. 爬楼梯、0104. 二叉树的最大深度、0124. 二叉树中的最大路径和、0226. 翻转二叉树 |
239 | 163 |
|
240 | 164 | ### [分治算法题目](../../Contents/09.Algorithm-Base/03.Divide-And-Conquer-Algorithm/02.Divide-And-Conquer-Algorithm-List.md)
|
241 | 165 |
|
242 |
| -###### |
| 166 | +###### 0053. 最大子数组和、0023. 合并K个升序链表、0004. 寻找两个正序数组的中位数、0169. 多数元素、0014. 最长公共前缀 |
243 | 167 |
|
244 | 168 | ### [回溯算法题目](../../Contents/09.Algorithm-Base/04.Backtracking-Algorithm/02.Backtracking-Algorithm-List.md)
|
245 | 169 |
|
246 |
| -###### |
| 170 | +###### 0046. 全排列、0022. 括号生成、0078. 子集、0039. 组合总和、0093. 复原 IP 地址 |
247 | 171 |
|
248 | 172 | ### [贪心算法题目](../../Contents/09.Algorithm-Base/05.Greedy-Algorithm/02.Greedy-Algorithm-List.md)
|
249 | 173 |
|
250 |
| -###### |
| 174 | +###### 0053. 最大子数组和、0056. 合并区间、0122. 买卖股票的最佳时机 II |
251 | 175 |
|
252 | 176 | ### [位运算题目](../../Contents/09.Algorithm-Base/06.Bit-Operation/02.Bit-Operation-List.md)
|
253 | 177 |
|
254 |
| -###### |
| 178 | +###### 0136. 只出现一次的数字 |
255 | 179 |
|
256 | 180 | ## 10. 动态规划
|
257 | 181 |
|
258 |
| -### [动态规划基础题目](../../Contents/10.Dynamic-Programming/01.Dynamic-Programming-Basic/02.Dynamic-Programming-Basic-List.md) |
259 |
| - |
260 |
| -###### |
261 |
| - |
262 |
| -### [记忆化搜索题目](../../Contents/10.Dynamic-Programming/02.Memoization/02.Memoization-List.md) |
263 |
| - |
264 |
| -###### |
265 |
| - |
266 |
| -### [背包问题题目](../../Contents/10.Dynamic-Programming/03.Knapsack-Problem/02.Knapsack-Problem-List.md) |
267 |
| - |
268 |
| -###### |
269 |
| - |
270 |
| -### [线性 DP 题目](../../Contents/10.Dynamic-Programming/04.Linear-DP/02.Linear-DP-List.md) |
271 |
| - |
272 |
| -###### |
273 |
| - |
274 |
| -### [区间 DP 题目](../../Contents/10.Dynamic-Programming/05.Interval-DP/02.Interval-DP-List.md) |
275 |
| - |
276 |
| -###### |
277 |
| - |
278 |
| -### [树形 DP 题目](../../Contents/10.Dynamic-Programming/06.Tree-DP/02.Tree-DP-List.md) |
279 |
| - |
280 |
| -### [数位 DP 题目](../../Contents/10.Dynamic-Programming/07.Number-DP/02.Number-DP-List.md) |
281 |
| - |
282 |
| -###### |
283 |
| - |
284 |
| -### [状态压缩 DP 题目](../../Contents/10.Dynamic-Programming/08.State-DP/02.State-DP-List.md) |
285 |
| - |
286 |
| -###### |
287 |
| - |
288 |
| -### [概率 DP 题目](../../Contents/10.Dynamic-Programming/09.Probability-DP/02.Probability-DP-List.md) |
289 |
| - |
290 |
| -###### |
| 182 | +### [动态规划题目](../../Contents/10.Dynamic-Programming/01.Dynamic-Programming-Basic/02.Dynamic-Programming-Basic-List.md) |
291 | 183 |
|
292 |
| -### [计数 DP 题目](../../Contents/10.Dynamic-Programming/10.Count-DP/10.Count-DP-List.md) |
| 184 | +###### 0070. 爬楼梯、0121. 买卖股票的最佳时机、0322. 零钱兑换、0300. 最长上升子序列、1143. 最长公共子序列、0718. 最长重复子数组、0064. 最小路径和、0072. 编辑距离、0032. 最长有效括号、0221. 最大正方形、0062. 不同路径、0152. 乘积最大子数组、0198. 打家劫舍 |
293 | 185 |
|
294 |
| -### [动态规划优化题目](../../Contents/10.Dynamic-Programming/11.DP-Optimization/04.DP-Optimization-List.md) |
295 | 186 |
|
| 187 | +## 11. 补充题目 |
296 | 188 |
|
| 189 | +#### 设计数据结构题目 |
297 | 190 |
|
| 191 | +###### 0146. LRU 缓存 |
298 | 192 |
|
| 193 | +#### 模拟题目 |
299 | 194 |
|
| 195 | +###### 0008. 字符串转换整数 (atoi)、0165. 比较版本号 |
300 | 196 |
|
301 |
| -###### 0025. K 个一组翻转链表、0015. 三数之和、0912. 排序数组、0053. 最大子序和、0021. 合并两个有序链表、0001. 两数之和、0102. 二叉树的层序遍历、0121. 买卖股票的最佳时机、0020. 有效的括号、0141. 环形链表、0103. 二叉树的锯齿形层次遍历、0033. 搜索旋转排序数组、0236. 二叉树的最近公共祖先、0088. 合并两个有序数组、0005. 最长回文子串、0160. 相交链表、0200. 岛屿数量、0046. 全排列、0023. 合并K个排序链表、0415. 字符串相加、0142. 环形链表 II、0054. 螺旋矩阵、0092. 反转链表 II、0300. 最长上升子序列、0042. 接雨水、0143. 重排链表、0124. 二叉树中的最大路径和、0704. 二分查找、094. 二叉树的中序遍历、0232. 用栈实现队列、0199. 二叉树的右视图、0056. 合并区间、0019. 删除链表的倒数第N个节点、0070. 爬楼梯、0004. 寻找两个正序数组的中位数、0148. 排序链表、0072. 编辑距离、0082. 删除排序链表中的重复元素 II、0069. x 的平方根、0002. 两数相加、剑指 Offer 22. 链表中倒数第k个节点、0008. 字符串转换整数 (atoi)、0041. 缺失的第一个正数、0022. 括号生成、0031. 下一个排列、1143. 最长公共子序列、0093. 复原IP地址、0151. 翻转字符串里的单词、0144. 二叉树的前序遍历、0105. 从前序与中序遍历序列构造二叉树、0239. 滑动窗口最大值、076. 最小覆盖子串、0129. 求根到叶子节点数字之和、0104. 二叉树的最大深度、0110. 平衡二叉树、0155. 最小栈、0322. 零钱兑换、0032. 最长有效括号、0043. 字符串相乘、0098. 验证二叉搜索树、0113. 路径总和 II、0543. 二叉树的直径、0101. 对称二叉树、0165. 比较版本号、0064. 最小路径和、0078. 子集、0470. 用 Rand7() 实现 Rand10()、0234. 回文链表、0169. 多数元素、0048. 旋转图像、0112. 路径总和、0039. 组合总和、0718. 最长重复子数组、0034. 在排序数组中查找元素的第一个和最后一个位置、0226. 翻转二叉树、0014. 最长公共前缀、0221. 最大正方形、0240. 搜索二维矩阵 II、0162. 寻找峰值、0062. 不同路径、0083. 删除排序链表中的重复元素、0128. 最长连续序列、0695. 岛屿的最大面积、0394. 字符串解码、0153. 寻找旋转排序数组中的最小值、0152. 乘积最大子数组、0662. 二叉树最大宽度、0227. 基本计算器 II、0122. 买卖股票的最佳时机 II、0024. 两两交换链表中的节点、00198. 打家劫舍、0179. 最大数、0136. 只出现一次的数字、0468. 验证IP地址、0138. 复制带随机指针的链表 |
| 197 | +#### 思维锻炼题目 |
302 | 198 |
|
303 |
| -### 待加入 |
304 |
| -###### 0146. LRU缓存机制 |
| 199 | +###### 0031. 下一个排列、0470. 用 Rand7() 实现 Rand10() |
0 commit comments