|
9 | 9 | 1.7 **[贪心算法](#贪心算法)** <br>
|
10 | 10 | 1.8 **[动态规划](#动态规划)** <br>
|
11 | 11 | 1.9 **[最大流](#最大流)** <br>
|
| 12 | + 1.10 **[前缀和](#前缀和)** <br> |
| 13 | + 1.11 **[双指针](#双指针)** <br> |
12 | 14 | 2. **[题目汇总](#题目汇总)** <br>
|
| 15 | +3. **[力扣竞赛](#力扣竞赛)** <br> |
13 | 16 |
|
14 | 17 |
|
15 | 18 | # **基础类型**
|
|
21 | 24 | 3. **[冒泡排序](基础类型/排序/1.%20O(n^2)/1.%20冒泡排序.java)** <br>
|
22 | 25 | 4. **[选择排序](基础类型/排序/1.%20O(n^2)/2.%20选择排序.java)** <br>
|
23 | 26 | 5. **[插入排序](基础类型/排序/1.%20O(n^2)/3.%20插入排序.java)** <br>
|
24 |
| -6. **[希尔排序](基础类型/排序/2.%20O(n%20*%20log_n)/4.%20希尔排序.java)** <br> |
25 |
| -7. **[堆排序](基础类型/排序/2.%20O(n%20*%20log_n)/5.%20堆排序.java)** <br> |
26 |
| -8. **[快速排序](基础类型/排序/2.%20O(n%20*%20log_n)/6.%20快速排序.java)** <br> |
27 |
| -9. **[归并排序](基础类型/排序/2.%20O(n%20*%20log_n)/7.%20归并排序.java)** <br> |
| 27 | +6. **[希尔排序](基础类型/排序/2.%20O(n_log_n)/4.%20希尔排序.java)** <br> |
| 28 | +7. **[堆排序](基础类型/排序/2.%20O(n_log_n)/5.%20堆排序.java)** <br> |
| 29 | +8. **[快速排序](基础类型/排序/2.%20O(n_log_n)/6.%20快速排序.java)** <br> |
| 30 | +9. **[归并排序](基础类型/排序/2.%20O(n_log_n)/7.%20归并排序.java)** <br> |
28 | 31 | 10. **[计数排序 (待整理)](基础类型/排序/3.%20O(n)/8.%20计数排序.java)** <br>
|
29 | 32 | 11. **[基数排序 (待整理)](基础类型/排序/3.%20O(n)/9.%20基数排序.java)** <br>
|
30 | 33 | **[56. 合并区间 (利用 Comparator 自定义排序)](题目汇总/56.%20合并区间.java)** <br>
|
31 | 34 | **[239. 滑动窗口最大值 (单调队列、优先队列 (Comparator自定义排序)、TreeMap)](题目汇总/239.%20滑动窗口最大值.java)** <br>
|
32 | 35 | **[373. 查找和最小的K对数字 (堆、优先队列 (Comparator自定义排序))](题目汇总/373.%20查找和最小的K对数字.java)** <br>
|
33 | 36 | **[23. 合并K个升序链表 (归并排序、优先队列 (Comparable自定义排序))](题目汇总/23.%20合并K个升序链表.java)** <br>
|
| 37 | +**[5864. 游戏中弱角色的数量 (数组排序)](力扣竞赛/第%20257%20场周赛/5864.%20游戏中弱角色的数量.java)** <br> |
34 | 38 |
|
35 | 39 | ## 树
|
36 | 40 | **[144. 树的前序遍历](基础类型/树/144.%20树的前序遍历.java)** <br>
|
|
57 | 61 |
|
58 | 62 | ## 回溯
|
59 | 63 | **[51. N 皇后 (回溯算法)](题目汇总/51.%20N%20皇后.java)** <br>
|
| 64 | +**[37. 解数独 (回溯)](题目汇总/37.%20解数独.java)** <br> |
60 | 65 | **[79. 单词搜索 (DFS、回溯)](题目汇总/79.%20单词搜索.java)** <br>
|
61 | 66 | **[491. 递增子序列 (回溯、枝剪)](题目汇总/491.%20递增子序列.java)** <br>
|
62 | 67 |
|
|
66 | 71 | **[480. 滑动窗口中位数 (滑动窗口)](题目汇总/480.%20滑动窗口中位数.java)** <br>
|
67 | 72 |
|
68 | 73 | ## 分治
|
| 74 | +**[34. 在排序数组中查找元素的第一个和最后一个位置 (二分查找)](题目汇总/34.%20在排序数组中查找元素的第一个和最后一个位置.java)** <br> |
69 | 75 | **[704. 二分查找](基础类型/查找/704.%20二分查找.java)** <br>
|
70 | 76 | **[540. 有序数组中的单一元素 (二分查找)](题目汇总/540.%20有序数组中的单一元素.java)** <br>
|
71 | 77 | **[大于target的最小的数的下标](力扣训练营/毕业竞赛/3.%20第三题.java)** <br>
|
72 | 78 | **[441. 排列硬币 (小于等于target的最大的数)](题目汇总/441.%20排列硬币.java)** <br>
|
73 | 79 |
|
74 | 80 | ## 贪心算法
|
75 | 81 | **[452. 用最少数量的箭引爆气球 (贪心算法)](题目汇总/452.%20用最少数量的箭引爆气球.java)** <br>
|
| 82 | +**[502. IPO (贪心算法、最大堆)](题目汇总/502.%20IPO.java)** <br> |
| 83 | +**[376. 摆动序列 (贪心、动态规划)](题目汇总/376.%20摆动序列.java)** <br> |
| 84 | +**[678. 有效的括号字符串 (贪心)](题目汇总/678.%20有效的括号字符串.java)** <br> |
76 | 85 |
|
77 | 86 | ## 动态规划
|
| 87 | +**[5. 最长回文子串 (动态规划)](题目汇总/5.%20最长回文子串.java)** <br> |
| 88 | +**[1143. 最长公共子序列 (动态规划(经典题目))](题目汇总/1143.%20最长公共子序列.java)** <br> |
78 | 89 | **[279. 完全平方数 (动态规划、完全背包)](题目汇总/279.%20完全平方数.java)** <br>
|
79 | 90 | **[322. 零钱兑换 (完全背包、动态规划)](题目汇总/322.%20零钱兑换.java)** <br>
|
80 | 91 | **[518. 零钱兑换 II (动态规划,非完全背包)](题目汇总/518.%20零钱兑换%20II.java)** <br>
|
| 92 | +**[97. 交错字符串 (动态规划)](题目汇总/97.%20交错字符串.java)** <br> |
81 | 93 | **[416. 分割等和子集 (0-1背包问题、动态规划)](题目汇总/416.%20分割等和子集.java)** <br>
|
82 | 94 | **[486. 预测赢家 (动态规划、DFS、博弈论)](题目汇总/486.%20预测赢家.java)** <br>
|
83 | 95 | **[1027. 最长等差数列 (动态规划,二维数组、Map数组)](题目汇总/1027.%20最长等差数列.java)** <br>
|
|
87 | 99 |
|
88 | 100 | ## 最大流
|
89 | 101 |
|
| 102 | +## 前缀和 |
| 103 | +**[1588. 所有奇数长度子数组的和 (前缀和)](题目汇总/1588.%20所有奇数长度子数组的和.java)** <br> |
| 104 | +**[1109. 航班预订统计 (前缀和)](题目汇总/1109.%20航班预订统计.java)** <br> |
| 105 | + |
| 106 | +## 双指针 |
| 107 | +**[165. 比较版本号 (双指针)](题目汇总/165.%20比较版本号.java)** <br> |
| 108 | + |
90 | 109 | <br>
|
91 | 110 |
|
92 | 111 | # **题目汇总**
|
|
95 | 114 | 2. **[两数相加 (链表)](题目汇总/2.%20两数相加.java)** <br>
|
96 | 115 | 3. **[无重复字符的最长子串 (滑动窗口)](题目汇总/3.%20无重复字符的最长子串.java)** <br>
|
97 | 116 | 4. **[寻找两个正序数组的中位数 (归并、二分查找)](题目汇总/4.%20寻找两个正序数组的中位数.java)** <br>
|
| 117 | + 5. **[最长回文子串 (动态规划)](题目汇总/5.%20最长回文子串.java)** <br> |
98 | 118 | 11. **[盛最多水的容器 (双指针)](题目汇总/11.%20盛最多水的容器.java)** <br>
|
99 | 119 | 12. **[整数转罗马数字](题目汇总/12.%20整数转罗马数字.java)** <br>
|
100 | 120 | 14. **[最长公共前缀](题目汇总/14.%20最长公共前缀.java)** <br>
|
101 | 121 | 15. **[三数之和 (双指针)](题目汇总/15.%20三数之和.java)** <br>
|
102 | 122 | 18. **[四数之和](题目汇总/18.%20四数之和.java)** <br>
|
103 |
| - 19. **[删除链表的倒数第 (快慢指针、栈)](题目汇总/19.%20删除链表的倒数第%20N%20个结点.java)** <br> |
| 123 | + 19. **[删除链表的倒数第N个结点 (快慢指针、栈)](题目汇总/19.%20删除链表的倒数第%20N%20个结点.java)** <br> |
104 | 124 | 20. **[有效的括号 (栈)](题目汇总/20.%20有效的括号.java)** <br>
|
105 | 125 | 21. **[合并两个有序链表 (链表的指针操作)](题目汇总/21.%20合并两个有序链表.java)** <br>
|
106 | 126 | 23. **[合并K个升序链表 (归并排序、优先队列 (Comparable自定义排序))](题目汇总/23.%20合并K个升序链表.java)** <br>
|
107 | 127 | 26. **[删除有序数组中的重复项 (快慢指针)](题目汇总/26.%20删除有序数组中的重复项.java)** <br>
|
108 | 128 | 31. **[下一个排列 (某一个思想技巧)](题目汇总/31.%20下一个排列.java)** <br>
|
109 | 129 | 33. **[搜索旋转排序数组 (二分查找)](题目汇总/33.%20搜索旋转排序数组.java)** <br>
|
110 | 130 | 34. **[在排序数组中查找元素的第一个和最后一个位置 (二分查找)](题目汇总/34.%20在排序数组中查找元素的第一个和最后一个位置.java)** <br>
|
| 131 | + 36. **[有效的数独](题目汇总/36.%20有效的数独.java)** <br> |
| 132 | + 37. **[解数独 (回溯)](题目汇总/37.%20解数独.java)** <br> |
111 | 133 | 39. **[组合总和 (递归、回溯)](题目汇总/39.%20组合总和.java)** <br>
|
112 | 134 | 41. **[缺失的第一个正数](题目汇总/41.%20缺失的第一个正数.java)** <br>
|
113 | 135 | 42. **[接雨水 (动态规划、单调栈、双指针)](题目汇总/42.%20接雨水.java)** <br>
|
114 | 136 | 45. **[跳跃游戏 II (贪心 or 动态规划)](题目汇总/45.%20跳跃游戏%20II.java)** <br>
|
115 | 137 | 46. **[全排列 (DFS + 回溯)](题目汇总/46.%20全排列.java)** <br>
|
116 | 138 | 47. **[全排列 II (DFS + 回溯)](题目汇总/47.%20全排列%20II.java)** <br>
|
117 | 139 | 48. **[旋转图像 (数学找规律)](题目汇总/48.%20旋转图像.java)** <br>
|
| 140 | + 50. **[Pow(x, n) (快速幂)](题目汇总/50.%20Pow(x,%20n).java)** <br> |
118 | 141 | 51. **[N 皇后 (回溯算法)](题目汇总/51.%20N%20皇后.java)** <br>
|
119 | 142 | 53. **[最大子序和](题目汇总/53.%20最大子序和.java)** <br>
|
120 | 143 | 56. **[合并区间 (利用 Comparator 自定义排序)](题目汇总/56.%20合并区间.java)** <br>
|
|
132 | 155 | 84. **[柱状图中最大的矩形 (单调栈,哨兵思想)](题目汇总/84.%20柱状图中最大的矩形.java)** <br>
|
133 | 156 | 93. **[复原 IP 地址 (DFS,回溯)](题目汇总/93.%20复原%20IP%20地址.java)** <br>
|
134 | 157 | 94. **[树的中序遍历](题目汇总/94.%20树的中序遍历.java)** <br>
|
| 158 | + 97. **[交错字符串 (动态规划)](题目汇总/97.%20交错字符串.java)** <br> |
135 | 159 | 98. **[验证二叉搜索树 (一种通用递归,两种中序遍历(递归、迭代))](题目汇总/98.%20验证二叉搜索树.java)** <br>
|
136 | 160 | 100. **[树的DFS和BFS (常用递归和层序)](题目汇总/100.%20相同的树.java)** <br>
|
137 | 161 | 101. **[对称二叉树 ](题目汇总/101.%20对称二叉树.java)** <br>
|
|
160 | 184 | 155. **[最小栈 (用类实现一个最小栈)](题目汇总/155.%20最小栈.java)** <br>
|
161 | 185 | 160. **[相交链表 (双指针、哈希)](题目汇总/160.%20相交链表.java)** <br>
|
162 | 186 | 162. **[寻找峰值 (二分查找变形)](题目汇总/162.%20寻找峰值.java)** <br>
|
| 187 | + 165. **[比较版本号 (双指针)](题目汇总/165.%20比较版本号.java)** <br> |
163 | 188 | 169. **[多数元素(主要元素) (候选者、排序、哈希、随机抽样)](题目汇总/169.%20多数元素.java)** <br>
|
164 | 189 | 173. **[二叉搜索树迭代器 (中序遍历二叉搜索树,递归,迭代)](题目汇总/173.%20二叉搜索树迭代器.java)** <br>
|
165 | 190 | 198. **[打家劫舍 (1) (动态规划) (通项公式)](题目汇总/198.%20打家劫舍.java)** <br>
|
|
193 | 218 | 338. **[比特位计数 (动态规划、位运算)](题目汇总/338.%20比特位计数.java)** <br>
|
194 | 219 | 342. **[4的幂 (位运算)](题目汇总/342.%204的幂.java)** <br>
|
195 | 220 | 373. **[查找和最小的K对数字 (堆、优先队列 (Comparator自定义排序))](题目汇总/373.%20查找和最小的K对数字.java)** <br>
|
| 221 | + 376. **[摆动序列 (贪心、动态规划)](题目汇总/376.%20摆动序列.java)** <br> |
196 | 222 | 380. **[O(1) 时间插入、删除和获取随机元素 (O(1)时间删除数组)](题目汇总/380.%20O(1)%20时间插入、删除和获取随机元素.java)** <br>
|
197 | 223 | 400. **[第 N 位数字 (数学)](题目汇总/400.%20第%20N%20位数字.java)** <br>
|
198 | 224 | 404. **[左叶子之和 (树的DFS、BFS)](题目汇总/404.%20左叶子之和.java)** <br>
|
|
212 | 238 | 486. **[预测赢家 (动态规划、DFS、博弈论)](题目汇总/486.%20预测赢家.java)** <br>
|
213 | 239 | 491. **[递增子序列 (回溯、枝剪)](题目汇总/491.%20递增子序列.java)** <br>
|
214 | 240 | 495. **[提莫攻击](题目汇总/495.%20提莫攻击.java)** <br>
|
| 241 | + 502. **[IPO (贪心算法、最大堆)](题目汇总/502.%20IPO.java)** <br> |
215 | 242 | 506. **[相对名次 (排序算法)](题目汇总/506.%20相对名次.java)** <br>
|
216 | 243 | 518. **[零钱兑换 II (动态规划,非完全背包)](题目汇总/518.%20零钱兑换%20II.java)** <br>
|
217 | 244 | 525. **[连续数组 (前缀和 + 哈希表)](题目汇总/525.%20连续数组.java)** <br>
|
|
227 | 254 | 628. **[三个数的最大乘积](题目汇总/628.%20三个数的最大乘积.java)** <br>
|
228 | 255 | 645. **[错误的集合](题目汇总/645.%20错误的集合.java)** <br>
|
229 | 256 | 671. **[二叉树中第二小的节点](题目汇总/671.%20二叉树中第二小的节点.java)** <br>
|
| 257 | + 678. **[有效的括号字符串 (贪心)](题目汇总/678.%20有效的括号字符串.java)** <br> |
230 | 258 | 695. **[岛屿的最大面积 (DFS、BFS)](题目汇总/695.%20岛屿的最大面积.java)** <br>
|
231 | 259 | 697. **[数组的度](题目汇总/697.%20数组的度.java)** <br>
|
232 | 260 | 704. **[二分查找](题目汇总/704.%20二分查找.java)** <br>
|
|
237 | 265 | 930. **[和相同的二元子数组 (哈希、滑动数组)](题目汇总/930.%20和相同的二元子数组.java)** <br>
|
238 | 266 | 934. **[最短的桥 (DFS、BFS)](题目汇总/934.%20最短的桥.java)** <br>
|
239 | 267 | 1027. **[最长等差数列 (动态规划,二维数组、Map数组)](题目汇总/1027.%20最长等差数列.java)** <br>
|
| 268 | + 1109. **[航班预订统计 (前缀和)](题目汇总/1109.%20航班预订统计.java)** <br> |
240 | 269 | 1143. **[最长公共子序列 (动态规划(经典题目))](题目汇总/1143.%20最长公共子序列.java)** <br>
|
| 270 | + 1221. **[分割平衡字符串 (二分查找)](题目汇总/1221.%20分割平衡字符串.java)** <br> |
241 | 271 | 1254. **[统计封闭岛屿的数目 (DFS、BFS))](题目汇总/1254.%20统计封闭岛屿的数目.java)** <br>
|
242 | 272 | 1338. **[数组大小减半 (贪心算法)](题目汇总/1338.%20数组大小减半.java)** <br>
|
243 | 273 | 1423. **[可获得的最大点数 (滑动窗口、DFS搜索)](题目汇总/1423.%20可获得的最大点数.java)** <br>
|
| 274 | + 1588. **[所有奇数长度子数组的和 (前缀和)](题目汇总/1588.%20所有奇数长度子数组的和.java)** <br> |
244 | 275 | 剑指 Offer 04. **[二维数组中的查找](题目汇总/剑指%20Offer%2004.%20二维数组中的查找.java)** <br>
|
245 | 276 | 剑指 Offer 05. **[替换空格](题目汇总/剑指%20Offer%2005.%20替换空格.java)** <br>
|
| 277 | + 剑指 Offer 10- I. **[斐波那契数列 (动态规划)](题目汇总/剑指%20Offer%2010-%20I.%20斐波那契数列.java)** <br> |
246 | 278 | 剑指 Offer 39. **[数组中出现次数超过一半的数字](题目汇总/剑指%20Offer%2039.%20数组中出现次数超过一半的数字.java)** <br>
|
247 |
| - 面试题 02.01. **[移除重复节点](题目汇总/面试题%2002.01.%20移除重复节点.java)** <br> |
| 279 | + 面试题 02.01. **[移除重复节点](题目汇总/面试题%2002.01.%20移除重复节点.java)** <br> |
| 280 | + 面试题 17.14. **[最小K个数 (最大堆、快排)](题目汇总/面试题%2017.14.%20最小K个数.java)** <br> |
| 281 | + 中兴笔试. **[& 运算结果为 0 的区间的个数 (动态规划)](题目汇总/中兴笔试.java)** <br> |
| 282 | + |
| 283 | +# **力扣竞赛** |
| 284 | +**[力扣竞赛 (总入口)](力扣竞赛)** <br> |
| 285 | + **[第 257 场周赛](力扣竞赛/第%20257%20场周赛)** <br> |
| 286 | + 5863. **[统计特殊四元组](力扣竞赛/第%20257%20场周赛/5863.%20统计特殊四元组.java)** <br> |
| 287 | + 5864. **[游戏中弱角色的数量 (数组排序)](力扣竞赛/第%20257%20场周赛/5864.%20游戏中弱角色的数量.java)** <br> |
| 288 | + 5865. **[访问完所有房间的第一天 (动态规划)](力扣竞赛/第%20257%20场周赛/5865.%20访问完所有房间的第一天.java)** <br> |
| 289 | + **[第 60 场双周赛](力扣竞赛/第%2060%20场双周赛)** <br> |
| 290 | + 5846. **[找到数组的中间位置 (前缀和)](力扣竞赛/第%2060%20场双周赛/5846.%20找到数组的中间位置.java)** <br> |
| 291 | + 5847. **[找到所有的农场组 (DFS、BFS)](力扣竞赛/第%2060%20场双周赛/5847.%20找到所有的农场组.java)** <br> |
| 292 | + 5848. **[树上的操作](力扣竞赛/第%2060%20场双周赛/5848.%20树上的操作.java)** <br> |
0 commit comments