forked from MisterBooo/LeetCodeAnimation
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex-by-topic.md
More file actions
975 lines (727 loc) · 64.3 KB
/
Copy pathindex-by-topic.md
File metadata and controls
975 lines (727 loc) · 64.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
# LeetCode 动画专题索引
本文件由 `tools/scripts/sync-algomooc-index.js` 生成,按 `docs/data/manifest.json` 中的 `topicsZh` 分组。
- LeetCode 题数:256
- 专题数量:123
- 按题号查看:[`docs/leetcode-animation-index.md`](leetcode-animation-index.md)
## 二叉树(22)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 94 | 二叉树的中序遍历 | 简单 | 二叉树 · 遍历 | [binary-tree-inorder-traversal](https://www.algomooc.com/leetcode-animation/binary-tree-inorder-traversal) |
| 98 | 验证二叉搜索树 | 中等 | 二叉树 · BST | [validate-binary-search-tree](https://www.algomooc.com/leetcode-animation/validate-binary-search-tree) |
| 100 | 相同的树 | 简单 | 二叉树 · 递归 | [same-tree](https://www.algomooc.com/leetcode-animation/same-tree) |
| 101 | 对称二叉树 | 简单 | 二叉树 · 递归 | [symmetric-tree](https://www.algomooc.com/leetcode-animation/symmetric-tree) |
| 102 | 二叉树的层序遍历 | 中等 | 二叉树 · BFS | [binary-tree-level-order-traversal](https://www.algomooc.com/leetcode-animation/binary-tree-level-order-traversal) |
| 103 | 二叉树的锯齿形层序遍历 | 中等 | 二叉树 | [binary-tree-zigzag-level-order-traversal](https://www.algomooc.com/leetcode-animation/binary-tree-zigzag-level-order-traversal) |
| 104 | 二叉树的最大深度 | 简单 | 二叉树 · 递归 | [maximum-depth-of-binary-tree](https://www.algomooc.com/leetcode-animation/maximum-depth-of-binary-tree) |
| 105 | 从前序与中序遍历序列构造二叉树 | 中等 | 二叉树 · 构造 | [construct-binary-tree-from-preorder-and-inorder-traversal](https://www.algomooc.com/leetcode-animation/construct-binary-tree-from-preorder-and-inorder-traversal) |
| 110 | 平衡二叉树 | 简单 | 二叉树 · 后序 | [balanced-binary-tree](https://www.algomooc.com/leetcode-animation/balanced-binary-tree) |
| 111 | 二叉树的最小深度 | 简单 | 二叉树 | [minimum-depth-of-binary-tree](https://www.algomooc.com/leetcode-animation/minimum-depth-of-binary-tree) |
| 112 | 路径总和 | 简单 | 二叉树 · DFS | [path-sum](https://www.algomooc.com/leetcode-animation/path-sum) |
| 114 | 二叉树展开为链表 | 中等 | 二叉树 | [flatten-binary-tree-to-linked-list](https://www.algomooc.com/leetcode-animation/flatten-binary-tree-to-linked-list) |
| 124 | 二叉树中的最大路径和 | 困难 | 二叉树 · 树形 DP | [binary-tree-maximum-path-sum](https://www.algomooc.com/leetcode-animation/binary-tree-maximum-path-sum) |
| 199 | 二叉树右视图 | 中等 | 二叉树 · BFS | [binary-tree-right-side-view](https://www.algomooc.com/leetcode-animation/binary-tree-right-side-view) |
| 222 | 完全二叉树的节点个数 | 中等 | 二叉树 | [count-complete-tree-nodes](https://www.algomooc.com/leetcode-animation/count-complete-tree-nodes) |
| 226 | 翻转二叉树 | 简单 | 二叉树 · 递归 | [invert-binary-tree](https://www.algomooc.com/leetcode-animation/invert-binary-tree) |
| 236 | 最近公共祖先 | 中等 | 二叉树 · LCA | [lowest-common-ancestor-of-a-binary-tree](https://www.algomooc.com/leetcode-animation/lowest-common-ancestor-of-a-binary-tree) |
| 297 | 二叉树的序列化与反序列化 | 困难 | 二叉树 | [serialize-and-deserialize-binary-tree](https://www.algomooc.com/leetcode-animation/serialize-and-deserialize-binary-tree) |
| 437 | 路径总和 III | 中等 | 二叉树 · 前缀和 | [path-sum-iii](https://www.algomooc.com/leetcode-animation/path-sum-iii) |
| 543 | 二叉树的直径 | 简单 | 二叉树 · 树形DP | [diameter-of-binary-tree](https://www.algomooc.com/leetcode-animation/diameter-of-binary-tree) |
| 617 | 合并二叉树 | 简单 | 二叉树 · 递归 | [merge-two-binary-trees](https://www.algomooc.com/leetcode-animation/merge-two-binary-trees) |
| 654 | 最大二叉树 | 中等 | 二叉树 | [maximum-binary-tree](https://www.algomooc.com/leetcode-animation/maximum-binary-tree) |
## 动态规划(21)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 53 | 最大子数组和 | 中等 | 动态规划 · Kadane | [maximum-subarray](https://www.algomooc.com/leetcode-animation/maximum-subarray) |
| 70 | 爬楼梯 | 简单 | 动态规划 | [climbing-stairs](https://www.algomooc.com/leetcode-animation/climbing-stairs) |
| 91 | 解码方法 | 中等 | 动态规划 · 字符串 | [decode-ways](https://www.algomooc.com/leetcode-animation/decode-ways) |
| 96 | 不同的二叉搜索树 | 中等 | 动态规划 · Catalan | [unique-binary-search-trees](https://www.algomooc.com/leetcode-animation/unique-binary-search-trees) |
| 118 | 杨辉三角 | 简单 | 动态规划 | [pascals-triangle](https://www.algomooc.com/leetcode-animation/pascals-triangle) |
| 123 | 买卖股票的最佳时机 III | 困难 | 动态规划 | [best-time-to-buy-and-sell-stock-iii](https://www.algomooc.com/leetcode-animation/best-time-to-buy-and-sell-stock-iii) |
| 152 | 乘积最大子数组 | 中等 | 动态规划 · 最大最小 | [maximum-product-subarray](https://www.algomooc.com/leetcode-animation/maximum-product-subarray) |
| 174 | 地下城游戏 | 困难 | 动态规划 | [dungeon-game](https://www.algomooc.com/leetcode-animation/dungeon-game) |
| 188 | 买卖股票的最佳时机 IV | 困难 | 动态规划 | [best-time-to-buy-and-sell-stock-iv](https://www.algomooc.com/leetcode-animation/best-time-to-buy-and-sell-stock-iv) |
| 264 | 丑数 II | 中等 | 动态规划 | [ugly-number-ii](https://www.algomooc.com/leetcode-animation/ugly-number-ii) |
| 300 | 最长递增子序列 | 中等 | 动态规划 · LIS | [longest-increasing-subsequence](https://www.algomooc.com/leetcode-animation/longest-increasing-subsequence) |
| 322 | 零钱兑换 | 中等 | 动态规划 | [coin-change](https://www.algomooc.com/leetcode-animation/coin-change) |
| 338 | 比特位计数 | 简单 | 动态规划 · 位运算 | [counting-bits](https://www.algomooc.com/leetcode-animation/counting-bits) |
| 343 | 整数拆分 | 中等 | 动态规划 | [integer-break](https://www.algomooc.com/leetcode-animation/integer-break) |
| 474 | 一和零 | 中等 | 动态规划 | [ones-and-zeroes](https://www.algomooc.com/leetcode-animation/ones-and-zeroes) |
| 509 | 斐波那契数 | 简单 | 动态规划 | [fibonacci-number](https://www.algomooc.com/leetcode-animation/fibonacci-number) |
| 516 | 最长回文子序列 | 中等 | 动态规划 | [longest-palindromic-subsequence](https://www.algomooc.com/leetcode-animation/longest-palindromic-subsequence) |
| 673 | 最长递增子序列的个数 | 中等 | 动态规划 | [number-of-longest-increasing-subsequence](https://www.algomooc.com/leetcode-animation/number-of-longest-increasing-subsequence) |
| 718 | 最长重复子数组 | 中等 | 动态规划 | [maximum-length-of-repeated-subarray](https://www.algomooc.com/leetcode-animation/maximum-length-of-repeated-subarray) |
| 1025 | 除数博弈 | 简单 | 动态规划 | [divisor-game](https://www.algomooc.com/leetcode-animation/divisor-game) |
| 1143 | 最长公共子序列 | 中等 | 动态规划 · LCS | [longest-common-subsequence](https://www.algomooc.com/leetcode-animation/longest-common-subsequence) |
## 链表(18)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 2 | 两数相加 | 中等 | 链表 · 模拟 | [add-two-numbers](https://www.algomooc.com/leetcode-animation/add-two-numbers) |
| 19 | 删除倒数第 N 个结点 | 中等 | 链表 · 快慢指针 | [remove-nth-node-from-end-of-list](https://www.algomooc.com/leetcode-animation/remove-nth-node-from-end-of-list) |
| 21 | 合并两个有序链表 | 简单 | 链表 · 双指针 | [merge-two-sorted-lists](https://www.algomooc.com/leetcode-animation/merge-two-sorted-lists) |
| 24 | 两两交换链表中的节点 | 中等 | 链表 · 指针重连 | [swap-nodes-in-pairs](https://www.algomooc.com/leetcode-animation/swap-nodes-in-pairs) |
| 25 | K 个一组翻转链表 | 困难 | 链表 · 分组反转 | [reverse-nodes-in-k-group](https://www.algomooc.com/leetcode-animation/reverse-nodes-in-k-group) |
| 61 | 旋转链表 | 中等 | 链表 | [rotate-list](https://www.algomooc.com/leetcode-animation/rotate-list) |
| 83 | 删除排序链表重复元素 | 简单 | 链表 · 删除 | [remove-duplicates-from-sorted-list](https://www.algomooc.com/leetcode-animation/remove-duplicates-from-sorted-list) |
| 92 | 反转链表 II | 中等 | 链表 · 局部反转 | [reverse-linked-list-ii](https://www.algomooc.com/leetcode-animation/reverse-linked-list-ii) |
| 141 | 环形链表 | 简单 | 链表 · 快慢指针 | [linked-list-cycle](https://www.algomooc.com/leetcode-animation/linked-list-cycle) |
| 142 | 环形链表 II | 中等 | 链表 | [linked-list-cycle-ii](https://www.algomooc.com/leetcode-animation/linked-list-cycle-ii) |
| 148 | 排序链表 | 中等 | 链表 · 归并排序 | [sort-list](https://www.algomooc.com/leetcode-animation/sort-list) |
| 160 | 相交链表 | 简单 | 链表 · 双指针 | [intersection-of-two-linked-lists](https://www.algomooc.com/leetcode-animation/intersection-of-two-linked-lists) |
| 203 | 移除链表元素 | 简单 | 链表 | [remove-linked-list-elements](https://www.algomooc.com/leetcode-animation/remove-linked-list-elements) |
| 206 | 反转链表 | 简单 | 链表 · 双指针 | [reverse-linked-list](https://www.algomooc.com/leetcode-animation/reverse-linked-list) |
| 234 | 回文链表 | 简单 | 链表 · 综合 | [palindrome-linked-list](https://www.algomooc.com/leetcode-animation/palindrome-linked-list) |
| 328 | 奇偶链表 | 中等 | 链表 | [odd-even-linked-list](https://www.algomooc.com/leetcode-animation/odd-even-linked-list) |
| 445 | 两数相加 II | 中等 | 链表 | [add-two-numbers-ii](https://www.algomooc.com/leetcode-animation/add-two-numbers-ii) |
| 876 | 链表的中间结点 | 简单 | 链表 · 快慢指针 | [middle-of-the-linked-list](https://www.algomooc.com/leetcode-animation/middle-of-the-linked-list) |
## 贪心(17)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 45 | 跳跃游戏 II | 中等 | 贪心 | [jump-game-ii](https://www.algomooc.com/leetcode-animation/jump-game-ii) |
| 55 | 跳跃游戏 | 中等 | 贪心 | [jump-game](https://www.algomooc.com/leetcode-animation/jump-game) |
| 122 | 买卖股票 II | 中等 | 贪心 | [best-time-to-buy-and-sell-stock-ii](https://www.algomooc.com/leetcode-animation/best-time-to-buy-and-sell-stock-ii) |
| 134 | 加油站 | 中等 | 贪心 | [gas-station](https://www.algomooc.com/leetcode-animation/gas-station) |
| 135 | 分发糖果 | 困难 | 贪心 · 双向扫描 | [candy](https://www.algomooc.com/leetcode-animation/candy) |
| 334 | 递增的三元子序列 | 中等 | 贪心 | [increasing-triplet-subsequence](https://www.algomooc.com/leetcode-animation/increasing-triplet-subsequence) |
| 376 | 摆动序列 | 中等 | 贪心 | [wiggle-subsequence](https://www.algomooc.com/leetcode-animation/wiggle-subsequence) |
| 402 | 移掉 K 位数字 | 中等 | 单调栈 · 贪心 | [remove-k-digits](https://www.algomooc.com/leetcode-animation/remove-k-digits) |
| 406 | 根据身高重建队列 | 中等 | 贪心 · 排序插入 | [queue-reconstruction-by-height](https://www.algomooc.com/leetcode-animation/queue-reconstruction-by-height) |
| 435 | 无重叠区间 | 中等 | 区间 · 贪心 | [non-overlapping-intervals](https://www.algomooc.com/leetcode-animation/non-overlapping-intervals) |
| 452 | 用最少数量的箭引爆气球 | 中等 | 贪心 | [minimum-number-of-arrows-to-burst-balloons](https://www.algomooc.com/leetcode-animation/minimum-number-of-arrows-to-burst-balloons) |
| 455 | 分发饼干 | 简单 | 贪心 | [assign-cookies](https://www.algomooc.com/leetcode-animation/assign-cookies) |
| 605 | 种花问题 | 简单 | 贪心 | [can-place-flowers](https://www.algomooc.com/leetcode-animation/can-place-flowers) |
| 621 | 任务调度器 | 中等 | 贪心 · 计数 | [task-scheduler](https://www.algomooc.com/leetcode-animation/task-scheduler) |
| 763 | 划分字母区间 | 中等 | 贪心 · 最后位置 | [partition-labels](https://www.algomooc.com/leetcode-animation/partition-labels) |
| 860 | 柠檬水找零 | 简单 | 贪心 | [lemonade-change](https://www.algomooc.com/leetcode-animation/lemonade-change) |
| 881 | 救生艇 | 中等 | 贪心 | [boats-to-save-people](https://www.algomooc.com/leetcode-animation/boats-to-save-people) |
## 回溯(13)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 17 | 电话号码的字母组合 | 中等 | 回溯 · 枚举 | [letter-combinations-of-a-phone-number](https://www.algomooc.com/leetcode-animation/letter-combinations-of-a-phone-number) |
| 22 | 括号生成 | 中等 | 回溯 · 括号 | [generate-parentheses](https://www.algomooc.com/leetcode-animation/generate-parentheses) |
| 37 | 解数独 | 困难 | 回溯 | [sudoku-solver](https://www.algomooc.com/leetcode-animation/sudoku-solver) |
| 39 | 组合总和 | 中等 | 回溯 | [combination-sum](https://www.algomooc.com/leetcode-animation/combination-sum) |
| 40 | 组合总和 II | 中等 | 回溯 · 去重 | [combination-sum-ii](https://www.algomooc.com/leetcode-animation/combination-sum-ii) |
| 46 | 全排列 | 中等 | 回溯 | [permutations](https://www.algomooc.com/leetcode-animation/permutations) |
| 47 | 全排列 II | 中等 | 回溯 | [permutations-ii](https://www.algomooc.com/leetcode-animation/permutations-ii) |
| 51 | N 皇后 | 困难 | 回溯 · 棋盘 | [n-queens](https://www.algomooc.com/leetcode-animation/n-queens) |
| 77 | 组合 | 中等 | 回溯 · 组合 | [combinations](https://www.algomooc.com/leetcode-animation/combinations) |
| 78 | 子集 | 中等 | 回溯 | [subsets](https://www.algomooc.com/leetcode-animation/subsets) |
| 90 | 子集 II | 中等 | 回溯 · 去重 | [subsets-ii](https://www.algomooc.com/leetcode-animation/subsets-ii) |
| 93 | 复原 IP 地址 | 中等 | 回溯 · 分段 | [restore-ip-addresses](https://www.algomooc.com/leetcode-animation/restore-ip-addresses) |
| 131 | 分割回文串 | 中等 | 回溯 · 切割 | [palindrome-partitioning](https://www.algomooc.com/leetcode-animation/palindrome-partitioning) |
## 二分查找(12)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 4 | 寻找两个正序数组的中位数 | 困难 | 二分查找 | [median-of-two-sorted-arrays](https://www.algomooc.com/leetcode-animation/median-of-two-sorted-arrays) |
| 33 | 搜索旋转排序数组 | 中等 | 二分查找 · 旋转 | [search-in-rotated-sorted-array](https://www.algomooc.com/leetcode-animation/search-in-rotated-sorted-array) |
| 35 | 搜索插入位置 | 简单 | 二分查找 | [search-insert-position](https://www.algomooc.com/leetcode-animation/search-insert-position) |
| 74 | 搜索二维矩阵 | 中等 | 二分查找 · 矩阵 | [search-a-2d-matrix](https://www.algomooc.com/leetcode-animation/search-a-2d-matrix) |
| 81 | 搜索旋转排序数组 II | 中等 | 二分查找 | [search-in-rotated-sorted-array-ii](https://www.algomooc.com/leetcode-animation/search-in-rotated-sorted-array-ii) |
| 153 | 寻找旋转排序数组中的最小值 | 中等 | 二分查找 · 找最小 | [find-minimum-in-rotated-sorted-array](https://www.algomooc.com/leetcode-animation/find-minimum-in-rotated-sorted-array) |
| 154 | 寻找旋转排序数组中的最小值 II | 困难 | 二分查找 | [find-minimum-in-rotated-sorted-array-ii](https://www.algomooc.com/leetcode-animation/find-minimum-in-rotated-sorted-array-ii) |
| 162 | 寻找峰值 | 中等 | 二分查找 · 找峰值 | [find-peak-element](https://www.algomooc.com/leetcode-animation/find-peak-element) |
| 278 | 第一个错误的版本 | 简单 | 二分查找 | [first-bad-version](https://www.algomooc.com/leetcode-animation/first-bad-version) |
| 367 | 有效的完全平方数 | 简单 | 二分查找 | [valid-perfect-square](https://www.algomooc.com/leetcode-animation/valid-perfect-square) |
| 704 | 二分查找 | 简单 | 二分查找 | [binary-search](https://www.algomooc.com/leetcode-animation/binary-search) |
| 852 | 山脉数组的峰顶索引 | 中等 | 二分查找 | [peak-index-in-a-mountain-array](https://www.algomooc.com/leetcode-animation/peak-index-in-a-mountain-array) |
## 数组(11)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 1 | 两数之和 | 简单 | 数组 · 哈希表 | [two-sum](https://www.algomooc.com/leetcode-animation/two-sum) |
| 26 | 删除有序数组中的重复项 | 简单 | 数组 · 快慢指针 | [remove-duplicates-from-sorted-array](https://www.algomooc.com/leetcode-animation/remove-duplicates-from-sorted-array) |
| 27 | 移除元素 | 简单 | 数组 | [remove-element](https://www.algomooc.com/leetcode-animation/remove-element) |
| 31 | 下一个排列 | 中等 | 数组 · 字典序 | [next-permutation](https://www.algomooc.com/leetcode-animation/next-permutation) |
| 80 | 删除有序数组中的重复项 II | 中等 | 数组 | [remove-duplicates-from-sorted-array-ii](https://www.algomooc.com/leetcode-animation/remove-duplicates-from-sorted-array-ii) |
| 189 | 轮转数组 | 中等 | 数组 · 原地反转 | [rotate-array](https://www.algomooc.com/leetcode-animation/rotate-array) |
| 448 | 找到所有数组中消失的数字 | 简单 | 数组 · 原地标记 | [find-all-numbers-disappeared-in-an-array](https://www.algomooc.com/leetcode-animation/find-all-numbers-disappeared-in-an-array) |
| 485 | 最大连续 1 的个数 | 简单 | 数组 | [max-consecutive-ones](https://www.algomooc.com/leetcode-animation/max-consecutive-ones) |
| 581 | 最短无序连续子数组 | 中等 | 数组 · 双向扫描 | [shortest-unsorted-continuous-subarray](https://www.algomooc.com/leetcode-animation/shortest-unsorted-continuous-subarray) |
| 1109 | 航班预订统计 | 中等 | 数组 | [corporate-flight-bookings](https://www.algomooc.com/leetcode-animation/corporate-flight-bookings) |
| 1588 | 所有奇数长度子数组的和 | 简单 | 数组 | [sum-of-all-odd-length-subarrays](https://www.algomooc.com/leetcode-animation/sum-of-all-odd-length-subarrays) |
## 栈(10)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 20 | 有效的括号 | 简单 | 栈 | [valid-parentheses](https://www.algomooc.com/leetcode-animation/valid-parentheses) |
| 32 | 最长有效括号 | 困难 | 栈 | [longest-valid-parentheses](https://www.algomooc.com/leetcode-animation/longest-valid-parentheses) |
| 71 | 简化路径 | 中等 | 栈 | [simplify-path](https://www.algomooc.com/leetcode-animation/simplify-path) |
| 150 | 逆波兰表达式求值 | 中等 | 栈 | [evaluate-reverse-polish-notation](https://www.algomooc.com/leetcode-animation/evaluate-reverse-polish-notation) |
| 155 | 最小栈 | 中等 | 栈 · 辅助栈 | [min-stack](https://www.algomooc.com/leetcode-animation/min-stack) |
| 224 | 基本计算器 | 困难 | 栈 | [basic-calculator](https://www.algomooc.com/leetcode-animation/basic-calculator) |
| 232 | 用栈实现队列 | 简单 | 栈 / 队列设计 | [implement-queue-using-stacks](https://www.algomooc.com/leetcode-animation/implement-queue-using-stacks) |
| 394 | 字符串解码 | 中等 | 栈 | [decode-string](https://www.algomooc.com/leetcode-animation/decode-string) |
| 946 | 验证栈序列 | 中等 | 栈 | [validate-stack-sequences](https://www.algomooc.com/leetcode-animation/validate-stack-sequences) |
| 1475 | 商品折扣后的最终价格 | 简单 | 栈 | [final-prices-with-a-special-discount-in-a-shop](https://www.algomooc.com/leetcode-animation/final-prices-with-a-special-discount-in-a-shop) |
## 双指针(9)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 16 | 最接近的三数之和 | 中等 | 双指针 | [3sum-closest](https://www.algomooc.com/leetcode-animation/3sum-closest) |
| 18 | 四数之和 | 中等 | 双指针 | [4sum](https://www.algomooc.com/leetcode-animation/4sum) |
| 21 | 合并两个有序链表 | 简单 | 链表 · 双指针 | [merge-two-sorted-lists](https://www.algomooc.com/leetcode-animation/merge-two-sorted-lists) |
| 88 | 合并两个有序数组 | 简单 | 双指针 | [merge-sorted-array](https://www.algomooc.com/leetcode-animation/merge-sorted-array) |
| 125 | 验证回文串 | 简单 | 双指针 | [valid-palindrome](https://www.algomooc.com/leetcode-animation/valid-palindrome) |
| 160 | 相交链表 | 简单 | 链表 · 双指针 | [intersection-of-two-linked-lists](https://www.algomooc.com/leetcode-animation/intersection-of-two-linked-lists) |
| 206 | 反转链表 | 简单 | 链表 · 双指针 | [reverse-linked-list](https://www.algomooc.com/leetcode-animation/reverse-linked-list) |
| 680 | 验证回文串 II | 简单 | 双指针 | [valid-palindrome-ii](https://www.algomooc.com/leetcode-animation/valid-palindrome-ii) |
| 986 | 区间列表的交集 | 中等 | 区间 · 双指针 | [interval-list-intersections](https://www.algomooc.com/leetcode-animation/interval-list-intersections) |
## 字符串(8)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 5 | 最长回文子串 | 中等 | 字符串 · 回文 | [longest-palindromic-substring](https://www.algomooc.com/leetcode-animation/longest-palindromic-substring) |
| 8 | 字符串转换整数 (atoi) | 中等 | 字符串 | [string-to-integer-atoi](https://www.algomooc.com/leetcode-animation/string-to-integer-atoi) |
| 14 | 最长公共前缀 | 简单 | 字符串 · 扫描 | [longest-common-prefix](https://www.algomooc.com/leetcode-animation/longest-common-prefix) |
| 28 | 找出字符串中第一个匹配项的下标 | 中等 | 字符串 · KMP | [find-the-index-of-the-first-occurrence-in-a-string](https://www.algomooc.com/leetcode-animation/find-the-index-of-the-first-occurrence-in-a-string) |
| 43 | 字符串相乘 | 中等 | 字符串 | [multiply-strings](https://www.algomooc.com/leetcode-animation/multiply-strings) |
| 91 | 解码方法 | 中等 | 动态规划 · 字符串 | [decode-ways](https://www.algomooc.com/leetcode-animation/decode-ways) |
| 387 | 字符串中的第一个唯一字符 | 简单 | 字符串 | [first-unique-character-in-a-string](https://www.algomooc.com/leetcode-animation/first-unique-character-in-a-string) |
| 647 | 回文子串 | 中等 | 字符串 · 回文 | [palindromic-substrings](https://www.algomooc.com/leetcode-animation/palindromic-substrings) |
## 堆(7)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 23 | 合并 K 个升序链表 | 困难 | 堆 · 分治 | [merge-k-sorted-lists](https://www.algomooc.com/leetcode-animation/merge-k-sorted-lists) |
| 253 | 会议室 II | 中等 | 堆 · 扫描线 | [meeting-rooms-ii](https://www.algomooc.com/leetcode-animation/meeting-rooms-ii) |
| 295 | 数据流的中位数 | 困难 | 堆 · 对顶堆 | [find-median-from-data-stream](https://www.algomooc.com/leetcode-animation/find-median-from-data-stream) |
| 347 | 前 K 个高频元素 | 中等 | 堆 · 桶排序 | [top-k-frequent-elements](https://www.algomooc.com/leetcode-animation/top-k-frequent-elements) |
| 373 | 查找和最小的 K 对数字 | 中等 | 堆 | [find-k-pairs-with-smallest-sums](https://www.algomooc.com/leetcode-animation/find-k-pairs-with-smallest-sums) |
| 692 | 前K个高频单词 | 中等 | 堆 | [top-k-frequent-words](https://www.algomooc.com/leetcode-animation/top-k-frequent-words) |
| 703 | 数据流中的第 K 大元素 | 简单 | 堆 | [kth-largest-element-in-a-stream](https://www.algomooc.com/leetcode-animation/kth-largest-element-in-a-stream) |
## 滑动窗口(7)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 3 | 无重复字符的最长子串 | 中等 | 滑动窗口 | [longest-substring-without-repeating-characters](https://www.algomooc.com/leetcode-animation/longest-substring-without-repeating-characters) |
| 76 | 最小覆盖子串 | 困难 | 滑动窗口 · 变长 | [minimum-window-substring](https://www.algomooc.com/leetcode-animation/minimum-window-substring) |
| 209 | 长度最小的子数组 | 中等 | 滑动窗口 | [minimum-size-subarray-sum](https://www.algomooc.com/leetcode-animation/minimum-size-subarray-sum) |
| 438 | 找到字符串中所有字母异位词 | 中等 | 滑动窗口 · 定长 | [find-all-anagrams-in-a-string](https://www.algomooc.com/leetcode-animation/find-all-anagrams-in-a-string) |
| 567 | 字符串的排列 | 中等 | 滑动窗口 · 定长计数 | [permutation-in-string](https://www.algomooc.com/leetcode-animation/permutation-in-string) |
| 643 | 子数组最大平均数 I | 简单 | 滑动窗口 | [maximum-average-subarray-i](https://www.algomooc.com/leetcode-animation/maximum-average-subarray-i) |
| 1695 | 删除子数组的最大得分 | 中等 | 滑动窗口 | [maximum-erasure-value](https://www.algomooc.com/leetcode-animation/maximum-erasure-value) |
## 矩阵(7)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 36 | 有效的数独 | 中等 | 矩阵 · 哈希查重 | [valid-sudoku](https://www.algomooc.com/leetcode-animation/valid-sudoku) |
| 48 | 旋转图像 | 中等 | 矩阵 · 原地旋转 | [rotate-image](https://www.algomooc.com/leetcode-animation/rotate-image) |
| 54 | 螺旋矩阵 | 中等 | 矩阵 · 边界收缩 | [spiral-matrix](https://www.algomooc.com/leetcode-animation/spiral-matrix) |
| 73 | 矩阵置零 | 中等 | 矩阵 · 标记 | [set-matrix-zeroes](https://www.algomooc.com/leetcode-animation/set-matrix-zeroes) |
| 74 | 搜索二维矩阵 | 中等 | 二分查找 · 矩阵 | [search-a-2d-matrix](https://www.algomooc.com/leetcode-animation/search-a-2d-matrix) |
| 240 | 搜索二维矩阵 II | 中等 | 矩阵 · 右上角搜索 | [search-a-2d-matrix-ii](https://www.algomooc.com/leetcode-animation/search-a-2d-matrix-ii) |
| 463 | 岛屿的周长 | 简单 | 矩阵 | [island-perimeter](https://www.algomooc.com/leetcode-animation/island-perimeter) |
## 前缀和(7)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 303 | 区域和检索 - 数组不可变 | 简单 | 前缀和 | [range-sum-query-immutable](https://www.algomooc.com/leetcode-animation/range-sum-query-immutable) |
| 304 | 二维区域和检索 - 矩阵不可变 | 中等 | 前缀和 | [range-sum-query-2d-immutable](https://www.algomooc.com/leetcode-animation/range-sum-query-2d-immutable) |
| 437 | 路径总和 III | 中等 | 二叉树 · 前缀和 | [path-sum-iii](https://www.algomooc.com/leetcode-animation/path-sum-iii) |
| 560 | 和为 K 的子数组 | 中等 | 前缀和 · 哈希 | [subarray-sum-equals-k](https://www.algomooc.com/leetcode-animation/subarray-sum-equals-k) |
| 724 | 寻找数组的中心下标 | 简单 | 前缀和 | [find-pivot-index](https://www.algomooc.com/leetcode-animation/find-pivot-index) |
| 1124 | 表现良好的最长时间段 | 中等 | 前缀和 | [longest-well-performing-interval](https://www.algomooc.com/leetcode-animation/longest-well-performing-interval) |
| 1248 | 统计「优美子数组」 | 中等 | 前缀和 | [count-number-of-nice-subarrays](https://www.algomooc.com/leetcode-animation/count-number-of-nice-subarrays) |
## 单调栈(6)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 42 | 接雨水 | 困难 | 单调栈 | [trapping-rain-water](https://www.algomooc.com/leetcode-animation/trapping-rain-water) |
| 84 | 柱状图中最大的矩形 | 困难 | 单调栈 | [largest-rectangle-in-histogram](https://www.algomooc.com/leetcode-animation/largest-rectangle-in-histogram) |
| 85 | 最大矩形 | 困难 | 单调栈 | [maximal-rectangle](https://www.algomooc.com/leetcode-animation/maximal-rectangle) |
| 402 | 移掉 K 位数字 | 中等 | 单调栈 · 贪心 | [remove-k-digits](https://www.algomooc.com/leetcode-animation/remove-k-digits) |
| 496 | 下一个更大元素 I | 简单 | 单调栈 | [next-greater-element-i](https://www.algomooc.com/leetcode-animation/next-greater-element-i) |
| 739 | 每日温度 | 中等 | 单调栈 | [daily-temperatures](https://www.algomooc.com/leetcode-animation/daily-temperatures) |
## 二维 DP(6)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 10 | 正则表达式匹配 | 困难 | 二维 DP | [regular-expression-matching](https://www.algomooc.com/leetcode-animation/regular-expression-matching) |
| 62 | 不同路径 | 中等 | 二维 DP | [unique-paths](https://www.algomooc.com/leetcode-animation/unique-paths) |
| 63 | 不同路径 II | 中等 | 二维 DP | [unique-paths-ii](https://www.algomooc.com/leetcode-animation/unique-paths-ii) |
| 64 | 最小路径和 | 中等 | 二维 DP | [minimum-path-sum](https://www.algomooc.com/leetcode-animation/minimum-path-sum) |
| 72 | 编辑距离 | 困难 | 二维 DP | [edit-distance](https://www.algomooc.com/leetcode-animation/edit-distance) |
| 221 | 最大正方形 | 中等 | 二维 DP | [maximal-square](https://www.algomooc.com/leetcode-animation/maximal-square) |
## 哈希表(6)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 1 | 两数之和 | 简单 | 数组 · 哈希表 | [two-sum](https://www.algomooc.com/leetcode-animation/two-sum) |
| 205 | 同构字符串 | 简单 | 哈希表 | [isomorphic-strings](https://www.algomooc.com/leetcode-animation/isomorphic-strings) |
| 219 | 存在重复元素 II | 简单 | 哈希表 | [contains-duplicate-ii](https://www.algomooc.com/leetcode-animation/contains-duplicate-ii) |
| 349 | 两个数组的交集 | 简单 | 哈希表 | [intersection-of-two-arrays](https://www.algomooc.com/leetcode-animation/intersection-of-two-arrays) |
| 409 | 最长回文串 | 简单 | 哈希表 | [longest-palindrome](https://www.algomooc.com/leetcode-animation/longest-palindrome) |
| 811 | 子域名访问计数 | 中等 | 哈希表 | [subdomain-visit-count](https://www.algomooc.com/leetcode-animation/subdomain-visit-count) |
## 快慢指针(6)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 19 | 删除倒数第 N 个结点 | 中等 | 链表 · 快慢指针 | [remove-nth-node-from-end-of-list](https://www.algomooc.com/leetcode-animation/remove-nth-node-from-end-of-list) |
| 26 | 删除有序数组中的重复项 | 简单 | 数组 · 快慢指针 | [remove-duplicates-from-sorted-array](https://www.algomooc.com/leetcode-animation/remove-duplicates-from-sorted-array) |
| 141 | 环形链表 | 简单 | 链表 · 快慢指针 | [linked-list-cycle](https://www.algomooc.com/leetcode-animation/linked-list-cycle) |
| 283 | 移动零 | 简单 | 快慢指针 | [move-zeroes](https://www.algomooc.com/leetcode-animation/move-zeroes) |
| 287 | 寻找重复数 | 中等 | 快慢指针 · 环检测 | [find-the-duplicate-number](https://www.algomooc.com/leetcode-animation/find-the-duplicate-number) |
| 876 | 链表的中间结点 | 简单 | 链表 · 快慢指针 | [middle-of-the-linked-list](https://www.algomooc.com/leetcode-animation/middle-of-the-linked-list) |
## 位运算(6)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 136 | 只出现一次的数字 | 简单 | 位运算 · 异或 | [single-number](https://www.algomooc.com/leetcode-animation/single-number) |
| 137 | 只出现一次的数字 II | 中等 | 位运算 | [single-number-ii](https://www.algomooc.com/leetcode-animation/single-number-ii) |
| 231 | 2 的幂 | 简单 | 位运算 | [power-of-two](https://www.algomooc.com/leetcode-animation/power-of-two) |
| 260 | 只出现一次的数字 III | 中等 | 位运算 | [single-number-iii](https://www.algomooc.com/leetcode-animation/single-number-iii) |
| 338 | 比特位计数 | 简单 | 动态规划 · 位运算 | [counting-bits](https://www.algomooc.com/leetcode-animation/counting-bits) |
| 461 | 汉明距离 | 简单 | 位运算 | [hamming-distance](https://www.algomooc.com/leetcode-animation/hamming-distance) |
## 递归(5)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 100 | 相同的树 | 简单 | 二叉树 · 递归 | [same-tree](https://www.algomooc.com/leetcode-animation/same-tree) |
| 101 | 对称二叉树 | 简单 | 二叉树 · 递归 | [symmetric-tree](https://www.algomooc.com/leetcode-animation/symmetric-tree) |
| 104 | 二叉树的最大深度 | 简单 | 二叉树 · 递归 | [maximum-depth-of-binary-tree](https://www.algomooc.com/leetcode-animation/maximum-depth-of-binary-tree) |
| 226 | 翻转二叉树 | 简单 | 二叉树 · 递归 | [invert-binary-tree](https://www.algomooc.com/leetcode-animation/invert-binary-tree) |
| 617 | 合并二叉树 | 简单 | 二叉树 · 递归 | [merge-two-binary-trees](https://www.algomooc.com/leetcode-animation/merge-two-binary-trees) |
## 数学(5)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 9 | 回文数 | 简单 | 数学 | [palindrome-number](https://www.algomooc.com/leetcode-animation/palindrome-number) |
| 50 | Pow(x, n) | 中等 | 数学 | [powx-n](https://www.algomooc.com/leetcode-animation/powx-n) |
| 268 | 丢失的数字 | 简单 | 数学 / 异或 | [missing-number](https://www.algomooc.com/leetcode-animation/missing-number) |
| 292 | Nim 游戏 | 简单 | 数学 | [nim-game](https://www.algomooc.com/leetcode-animation/nim-game) |
| 319 | 灯泡开关 | 中等 | 数学 | [bulb-switcher](https://www.algomooc.com/leetcode-animation/bulb-switcher) |
## 图(5)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 127 | 单词接龙 | 困难 | 图 · BFS | [word-ladder](https://www.algomooc.com/leetcode-animation/word-ladder) |
| 133 | 克隆图 | 中等 | 图 · DFS/BFS | [clone-graph](https://www.algomooc.com/leetcode-animation/clone-graph) |
| 399 | 除法求值 | 中等 | 图 · 带权路径 | [evaluate-division](https://www.algomooc.com/leetcode-animation/evaluate-division) |
| 743 | 网络延迟时间 | 中等 | 图 · Dijkstra | [network-delay-time](https://www.algomooc.com/leetcode-animation/network-delay-time) |
| 841 | 钥匙和房间 | 中等 | 图 · DFS | [keys-and-rooms](https://www.algomooc.com/leetcode-animation/keys-and-rooms) |
## BFS(5)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 102 | 二叉树的层序遍历 | 中等 | 二叉树 · BFS | [binary-tree-level-order-traversal](https://www.algomooc.com/leetcode-animation/binary-tree-level-order-traversal) |
| 127 | 单词接龙 | 困难 | 图 · BFS | [word-ladder](https://www.algomooc.com/leetcode-animation/word-ladder) |
| 133 | 克隆图 | 中等 | 图 · DFS/BFS | [clone-graph](https://www.algomooc.com/leetcode-animation/clone-graph) |
| 199 | 二叉树右视图 | 中等 | 二叉树 · BFS | [binary-tree-right-side-view](https://www.algomooc.com/leetcode-animation/binary-tree-right-side-view) |
| 301 | 删除无效的括号 | 困难 | BFS · 括号 | [remove-invalid-parentheses](https://www.algomooc.com/leetcode-animation/remove-invalid-parentheses) |
## 对撞双指针(4)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 11 | 盛最多水的容器 | 中等 | 对撞双指针 | [container-with-most-water](https://www.algomooc.com/leetcode-animation/container-with-most-water) |
| 15 | 三数之和 | 中等 | 对撞双指针 | [3sum](https://www.algomooc.com/leetcode-animation/3sum) |
| 167 | 两数之和 II | 中等 | 对撞双指针 | [two-sum-ii-input-array-is-sorted](https://www.algomooc.com/leetcode-animation/two-sum-ii-input-array-is-sorted) |
| 977 | 有序数组的平方 | 简单 | 对撞双指针 | [squares-of-a-sorted-array](https://www.algomooc.com/leetcode-animation/squares-of-a-sorted-array) |
## DFS(4)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 112 | 路径总和 | 简单 | 二叉树 · DFS | [path-sum](https://www.algomooc.com/leetcode-animation/path-sum) |
| 133 | 克隆图 | 中等 | 图 · DFS/BFS | [clone-graph](https://www.algomooc.com/leetcode-animation/clone-graph) |
| 200 | 岛屿数量 | 中等 | 网格 · DFS | [number-of-islands](https://www.algomooc.com/leetcode-animation/number-of-islands) |
| 841 | 钥匙和房间 | 中等 | 图 · DFS | [keys-and-rooms](https://www.algomooc.com/leetcode-animation/keys-and-rooms) |
## Trie(4)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 208 | 实现 Trie (前缀树) | 中等 | Trie | [implement-trie-prefix-tree](https://www.algomooc.com/leetcode-animation/implement-trie-prefix-tree) |
| 211 | 添加与搜索单词 - 数据结构设计 | 中等 | Trie | [design-add-and-search-words-data-structure](https://www.algomooc.com/leetcode-animation/design-add-and-search-words-data-structure) |
| 648 | 单词替换 | 中等 | Trie | [replace-words](https://www.algomooc.com/leetcode-animation/replace-words) |
| 676 | 实现一个魔法字典 | 中等 | Trie | [implement-magic-dictionary](https://www.algomooc.com/leetcode-animation/implement-magic-dictionary) |
## 0-1 背包(3)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 416 | 分割等和子集 | 中等 | 0-1 背包 | [partition-equal-subset-sum](https://www.algomooc.com/leetcode-animation/partition-equal-subset-sum) |
| 494 | 目标和 | 中等 | 0-1 背包 | [target-sum](https://www.algomooc.com/leetcode-animation/target-sum) |
| 1049 | 最后一块石头 II | 中等 | 0-1 背包 | [last-stone-weight-ii](https://www.algomooc.com/leetcode-animation/last-stone-weight-ii) |
## 二叉搜索树(3)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 235 | 二叉搜索树的最近公共祖先 | 中等 | 二叉搜索树 | [lowest-common-ancestor-of-a-binary-search-tree](https://www.algomooc.com/leetcode-animation/lowest-common-ancestor-of-a-binary-search-tree) |
| 530 | 二叉搜索树的最小绝对差 | 简单 | 二叉搜索树 | [minimum-absolute-difference-in-bst](https://www.algomooc.com/leetcode-animation/minimum-absolute-difference-in-bst) |
| 538 | 把二叉搜索树转换为累加树 | 中等 | 二叉搜索树 | [convert-bst-to-greater-tree](https://www.algomooc.com/leetcode-animation/convert-bst-to-greater-tree) |
## 区间(3)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 56 | 合并区间 | 中等 | 区间 · 合并 | [merge-intervals](https://www.algomooc.com/leetcode-animation/merge-intervals) |
| 435 | 无重叠区间 | 中等 | 区间 · 贪心 | [non-overlapping-intervals](https://www.algomooc.com/leetcode-animation/non-overlapping-intervals) |
| 986 | 区间列表的交集 | 中等 | 区间 · 双指针 | [interval-list-intersections](https://www.algomooc.com/leetcode-animation/interval-list-intersections) |
## 设计(3)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 146 | LRU 缓存 | 中等 | 设计 | [lru-cache](https://www.algomooc.com/leetcode-animation/lru-cache) |
| 641 | 设计循环双端队列 | 中等 | 设计 | [design-circular-deque](https://www.algomooc.com/leetcode-animation/design-circular-deque) |
| 1603 | 设计停车系统 | 简单 | 设计 | [design-parking-system](https://www.algomooc.com/leetcode-animation/design-parking-system) |
## 并查集(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 547 | 省份数量 | 中等 | 并查集 | [number-of-provinces](https://www.algomooc.com/leetcode-animation/number-of-provinces) |
| 684 | 冗余连接 | 中等 | 并查集 | [redundant-connection](https://www.algomooc.com/leetcode-animation/redundant-connection) |
## 二分答案(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 875 | 爱吃香蕉的珂珂 | 中等 | 二分答案 | [koko-eating-bananas](https://www.algomooc.com/leetcode-animation/koko-eating-bananas) |
| 1011 | 在 D 天内送达包裹的能力 | 中等 | 二分答案 · 贪心判定 | [capacity-to-ship-packages-within-d-days](https://www.algomooc.com/leetcode-animation/capacity-to-ship-packages-within-d-days) |
## 哈希(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 217 | 存在重复元素 | 简单 | 哈希 | [contains-duplicate](https://www.algomooc.com/leetcode-animation/contains-duplicate) |
| 560 | 和为 K 的子数组 | 中等 | 前缀和 · 哈希 | [subarray-sum-equals-k](https://www.algomooc.com/leetcode-animation/subarray-sum-equals-k) |
## 哈希计数(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 242 | 有效的字母异位词 | 简单 | 哈希计数 | [valid-anagram](https://www.algomooc.com/leetcode-animation/valid-anagram) |
| 383 | 赎金信 | 简单 | 哈希计数 | [ransom-note](https://www.algomooc.com/leetcode-animation/ransom-note) |
## 回文(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 5 | 最长回文子串 | 中等 | 字符串 · 回文 | [longest-palindromic-substring](https://www.algomooc.com/leetcode-animation/longest-palindromic-substring) |
| 647 | 回文子串 | 中等 | 字符串 · 回文 | [palindromic-substrings](https://www.algomooc.com/leetcode-animation/palindromic-substrings) |
## 括号(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 22 | 括号生成 | 中等 | 回溯 · 括号 | [generate-parentheses](https://www.algomooc.com/leetcode-animation/generate-parentheses) |
| 301 | 删除无效的括号 | 困难 | BFS · 括号 | [remove-invalid-parentheses](https://www.algomooc.com/leetcode-animation/remove-invalid-parentheses) |
## 排序(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 179 | 最大数 | 中等 | 排序 | [largest-number](https://www.algomooc.com/leetcode-animation/largest-number) |
| 973 | 最接近原点的 K 个点 | 中等 | 排序 · Top K | [k-closest-points-to-origin](https://www.algomooc.com/leetcode-animation/k-closest-points-to-origin) |
## 去重(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 40 | 组合总和 II | 中等 | 回溯 · 去重 | [combination-sum-ii](https://www.algomooc.com/leetcode-animation/combination-sum-ii) |
| 90 | 子集 II | 中等 | 回溯 · 去重 | [subsets-ii](https://www.algomooc.com/leetcode-animation/subsets-ii) |
## 树形 DP(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 124 | 二叉树中的最大路径和 | 困难 | 二叉树 · 树形 DP | [binary-tree-maximum-path-sum](https://www.algomooc.com/leetcode-animation/binary-tree-maximum-path-sum) |
| 337 | 打家劫舍 III | 中等 | 树形 DP | [house-robber-iii](https://www.algomooc.com/leetcode-animation/house-robber-iii) |
## 双向扫描(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 135 | 分发糖果 | 困难 | 贪心 · 双向扫描 | [candy](https://www.algomooc.com/leetcode-animation/candy) |
| 581 | 最短无序连续子数组 | 中等 | 数组 · 双向扫描 | [shortest-unsorted-continuous-subarray](https://www.algomooc.com/leetcode-animation/shortest-unsorted-continuous-subarray) |
## 拓扑排序(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 207 | 课程表 | 中等 | 拓扑排序 | [course-schedule](https://www.algomooc.com/leetcode-animation/course-schedule) |
| 210 | 课程表 II | 中等 | 拓扑排序 | [course-schedule-ii](https://www.algomooc.com/leetcode-animation/course-schedule-ii) |
## 网格 DFS(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 130 | 被围绕的区域 | 中等 | 网格 DFS | [surrounded-regions](https://www.algomooc.com/leetcode-animation/surrounded-regions) |
| 695 | 岛屿的最大面积 | 中等 | 网格 DFS | [max-area-of-island](https://www.algomooc.com/leetcode-animation/max-area-of-island) |
## 一次遍历(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 121 | 买卖股票的最佳时机 | 简单 | 一次遍历 | [best-time-to-buy-and-sell-stock](https://www.algomooc.com/leetcode-animation/best-time-to-buy-and-sell-stock) |
| 169 | 多数元素 | 简单 | 一次遍历 · 摩尔投票 | [majority-element](https://www.algomooc.com/leetcode-animation/majority-element) |
## 异或(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 136 | 只出现一次的数字 | 简单 | 位运算 · 异或 | [single-number](https://www.algomooc.com/leetcode-animation/single-number) |
| 268 | 丢失的数字 | 简单 | 数学 / 异或 | [missing-number](https://www.algomooc.com/leetcode-animation/missing-number) |
## 状态机 DP(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 309 | 最佳买卖股票含冷冻期 | 中等 | 状态机 DP | [best-time-to-buy-and-sell-stock-with-cooldown](https://www.algomooc.com/leetcode-animation/best-time-to-buy-and-sell-stock-with-cooldown) |
| 714 | 买卖股票含手续费 | 中等 | 状态机 DP | [best-time-to-buy-and-sell-stock-with-transaction-fee](https://www.algomooc.com/leetcode-animation/best-time-to-buy-and-sell-stock-with-transaction-fee) |
## BST(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 98 | 验证二叉搜索树 | 中等 | 二叉树 · BST | [validate-binary-search-tree](https://www.algomooc.com/leetcode-animation/validate-binary-search-tree) |
| 230 | 二叉搜索树中第 K 小的元素 | 中等 | BST · 中序遍历 | [kth-smallest-element-in-a-bst](https://www.algomooc.com/leetcode-animation/kth-smallest-element-in-a-bst) |
## Top K(2)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 215 | 数组中第 K 个最大元素 | 中等 | 快速选择 · Top K | [kth-largest-element-in-an-array](https://www.algomooc.com/leetcode-animation/kth-largest-element-in-an-array) |
| 973 | 最接近原点的 K 个点 | 中等 | 排序 · Top K | [k-closest-points-to-origin](https://www.algomooc.com/leetcode-animation/k-closest-points-to-origin) |
## 边界收缩(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 54 | 螺旋矩阵 | 中等 | 矩阵 · 边界收缩 | [spiral-matrix](https://www.algomooc.com/leetcode-animation/spiral-matrix) |
## 变长(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 76 | 最小覆盖子串 | 困难 | 滑动窗口 · 变长 | [minimum-window-substring](https://www.algomooc.com/leetcode-animation/minimum-window-substring) |
## 遍历(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 94 | 二叉树的中序遍历 | 简单 | 二叉树 · 遍历 | [binary-tree-inorder-traversal](https://www.algomooc.com/leetcode-animation/binary-tree-inorder-traversal) |
## 标记(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 73 | 矩阵置零 | 中等 | 矩阵 · 标记 | [set-matrix-zeroes](https://www.algomooc.com/leetcode-animation/set-matrix-zeroes) |
## 带权路径(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 399 | 除法求值 | 中等 | 图 · 带权路径 | [evaluate-division](https://www.algomooc.com/leetcode-animation/evaluate-division) |
## 单调队列(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 239 | 滑动窗口最大值 | 困难 | 单调队列 | [sliding-window-maximum](https://www.algomooc.com/leetcode-animation/sliding-window-maximum) |
## 定长(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 438 | 找到字符串中所有字母异位词 | 中等 | 滑动窗口 · 定长 | [find-all-anagrams-in-a-string](https://www.algomooc.com/leetcode-animation/find-all-anagrams-in-a-string) |
## 定长计数(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 567 | 字符串的排列 | 中等 | 滑动窗口 · 定长计数 | [permutation-in-string](https://www.algomooc.com/leetcode-animation/permutation-in-string) |
## 队列设计(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 232 | 用栈实现队列 | 简单 | 栈 / 队列设计 | [implement-queue-using-stacks](https://www.algomooc.com/leetcode-animation/implement-queue-using-stacks) |
## 对顶堆(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 295 | 数据流的中位数 | 困难 | 堆 · 对顶堆 | [find-median-from-data-stream](https://www.algomooc.com/leetcode-animation/find-median-from-data-stream) |
## 多源 BFS(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 994 | 腐烂的橘子 | 中等 | 多源 BFS | [rotting-oranges](https://www.algomooc.com/leetcode-animation/rotting-oranges) |
## 二分(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 69 | x 的平方根 | 简单 | 二分 | [sqrtx](https://www.algomooc.com/leetcode-animation/sqrtx) |
## 二分边界(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 34 | 查找元素的首末位置 | 中等 | 二分边界 | [find-first-and-last-position-of-element-in-sorted-array](https://www.algomooc.com/leetcode-animation/find-first-and-last-position-of-element-in-sorted-array) |
## 分段(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 93 | 复原 IP 地址 | 中等 | 回溯 · 分段 | [restore-ip-addresses](https://www.algomooc.com/leetcode-animation/restore-ip-addresses) |
## 分治(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 23 | 合并 K 个升序链表 | 困难 | 堆 · 分治 | [merge-k-sorted-lists](https://www.algomooc.com/leetcode-animation/merge-k-sorted-lists) |
## 分组反转(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 25 | K 个一组翻转链表 | 困难 | 链表 · 分组反转 | [reverse-nodes-in-k-group](https://www.algomooc.com/leetcode-animation/reverse-nodes-in-k-group) |
## 辅助栈(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 155 | 最小栈 | 中等 | 栈 · 辅助栈 | [min-stack](https://www.algomooc.com/leetcode-animation/min-stack) |
## 构造(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 105 | 从前序与中序遍历序列构造二叉树 | 中等 | 二叉树 · 构造 | [construct-binary-tree-from-preorder-and-inorder-traversal](https://www.algomooc.com/leetcode-animation/construct-binary-tree-from-preorder-and-inorder-traversal) |
## 归并排序(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 148 | 排序链表 | 中等 | 链表 · 归并排序 | [sort-list](https://www.algomooc.com/leetcode-animation/sort-list) |
## 哈希查重(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 36 | 有效的数独 | 中等 | 矩阵 · 哈希查重 | [valid-sudoku](https://www.algomooc.com/leetcode-animation/valid-sudoku) |
## 哈希分组(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 49 | 字母异位词分组 | 中等 | 哈希分组 | [group-anagrams](https://www.algomooc.com/leetcode-animation/group-anagrams) |
## 哈希集合(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 128 | 最长连续序列 | 中等 | 哈希集合 | [longest-consecutive-sequence](https://www.algomooc.com/leetcode-animation/longest-consecutive-sequence) |
## 合并(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 56 | 合并区间 | 中等 | 区间 · 合并 | [merge-intervals](https://www.algomooc.com/leetcode-animation/merge-intervals) |
## 后序(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 110 | 平衡二叉树 | 简单 | 二叉树 · 后序 | [balanced-binary-tree](https://www.algomooc.com/leetcode-animation/balanced-binary-tree) |
## 环检测(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 287 | 寻找重复数 | 中等 | 快慢指针 · 环检测 | [find-the-duplicate-number](https://www.algomooc.com/leetcode-animation/find-the-duplicate-number) |
## 环形 DP(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 213 | 打家劫舍 II | 中等 | 环形 DP | [house-robber-ii](https://www.algomooc.com/leetcode-animation/house-robber-ii) |
## 计数(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 621 | 任务调度器 | 中等 | 贪心 · 计数 | [task-scheduler](https://www.algomooc.com/leetcode-animation/task-scheduler) |
## 局部反转(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 92 | 反转链表 II | 中等 | 链表 · 局部反转 | [reverse-linked-list-ii](https://www.algomooc.com/leetcode-animation/reverse-linked-list-ii) |
## 矩阵模拟(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 289 | 生命游戏 | 中等 | 矩阵模拟 | [game-of-life](https://www.algomooc.com/leetcode-animation/game-of-life) |
## 快速选择(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 215 | 数组中第 K 个最大元素 | 中等 | 快速选择 · Top K | [kth-largest-element-in-an-array](https://www.algomooc.com/leetcode-animation/kth-largest-element-in-an-array) |
## 枚举(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 17 | 电话号码的字母组合 | 中等 | 回溯 · 枚举 | [letter-combinations-of-a-phone-number](https://www.algomooc.com/leetcode-animation/letter-combinations-of-a-phone-number) |
## 模拟(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 2 | 两数相加 | 中等 | 链表 · 模拟 | [add-two-numbers](https://www.algomooc.com/leetcode-animation/add-two-numbers) |
## 摩尔投票(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 169 | 多数元素 | 简单 | 一次遍历 · 摩尔投票 | [majority-element](https://www.algomooc.com/leetcode-animation/majority-element) |
## 排序插入(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 406 | 根据身高重建队列 | 中等 | 贪心 · 排序插入 | [queue-reconstruction-by-height](https://www.algomooc.com/leetcode-animation/queue-reconstruction-by-height) |
## 棋盘(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 51 | N 皇后 | 困难 | 回溯 · 棋盘 | [n-queens](https://www.algomooc.com/leetcode-animation/n-queens) |
## 前后缀乘积(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 238 | 除自身以外数组的乘积 | 中等 | 前后缀乘积 | [product-of-array-except-self](https://www.algomooc.com/leetcode-animation/product-of-array-except-self) |
## 切割(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 131 | 分割回文串 | 中等 | 回溯 · 切割 | [palindrome-partitioning](https://www.algomooc.com/leetcode-animation/palindrome-partitioning) |
## 区间 DP(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 312 | 戳气球 | 困难 | 区间 DP | [burst-balloons](https://www.algomooc.com/leetcode-animation/burst-balloons) |
## 三指针(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 75 | 颜色分类 | 中等 | 三指针 | [sort-colors](https://www.algomooc.com/leetcode-animation/sort-colors) |
## 扫描(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 14 | 最长公共前缀 | 简单 | 字符串 · 扫描 | [longest-common-prefix](https://www.algomooc.com/leetcode-animation/longest-common-prefix) |
## 扫描线(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 253 | 会议室 II | 中等 | 堆 · 扫描线 | [meeting-rooms-ii](https://www.algomooc.com/leetcode-animation/meeting-rooms-ii) |
## 删除(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 83 | 删除排序链表重复元素 | 简单 | 链表 · 删除 | [remove-duplicates-from-sorted-list](https://www.algomooc.com/leetcode-animation/remove-duplicates-from-sorted-list) |
## 树形DP(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 543 | 二叉树的直径 | 简单 | 二叉树 · 树形DP | [diameter-of-binary-tree](https://www.algomooc.com/leetcode-animation/diameter-of-binary-tree) |
## 贪心判定(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 1011 | 在 D 天内送达包裹的能力 | 中等 | 二分答案 · 贪心判定 | [capacity-to-ship-packages-within-d-days](https://www.algomooc.com/leetcode-animation/capacity-to-ship-packages-within-d-days) |
## 桶排序(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 347 | 前 K 个高频元素 | 中等 | 堆 · 桶排序 | [top-k-frequent-elements](https://www.algomooc.com/leetcode-animation/top-k-frequent-elements) |
## 图搜索(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 433 | 最小基因变化 | 中等 | 图搜索 | [minimum-genetic-mutation](https://www.algomooc.com/leetcode-animation/minimum-genetic-mutation) |
## 完全背包(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 518 | 零钱兑换 II | 中等 | 完全背包 | [coin-change-ii](https://www.algomooc.com/leetcode-animation/coin-change-ii) |
## 完全背包 DP(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 279 | 完全平方数 | 中等 | 完全背包 DP | [perfect-squares](https://www.algomooc.com/leetcode-animation/perfect-squares) |
## 网格(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 200 | 岛屿数量 | 中等 | 网格 · DFS | [number-of-islands](https://www.algomooc.com/leetcode-animation/number-of-islands) |
## 网格 BFS(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 1091 | 二进制矩阵中的最短路径 | 中等 | 网格 BFS | [shortest-path-in-binary-matrix](https://www.algomooc.com/leetcode-animation/shortest-path-in-binary-matrix) |
## 网格回溯(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 79 | 单词搜索 | 中等 | 网格回溯 | [word-search](https://www.algomooc.com/leetcode-animation/word-search) |
## 旋转(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 33 | 搜索旋转排序数组 | 中等 | 二分查找 · 旋转 | [search-in-rotated-sorted-array](https://www.algomooc.com/leetcode-animation/search-in-rotated-sorted-array) |
## 一维 DP(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 198 | 打家劫舍 | 中等 | 一维 DP | [house-robber](https://www.algomooc.com/leetcode-animation/house-robber) |
## 右上角搜索(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 240 | 搜索二维矩阵 II | 中等 | 矩阵 · 右上角搜索 | [search-a-2d-matrix-ii](https://www.algomooc.com/leetcode-animation/search-a-2d-matrix-ii) |
## 原地标记(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 448 | 找到所有数组中消失的数字 | 简单 | 数组 · 原地标记 | [find-all-numbers-disappeared-in-an-array](https://www.algomooc.com/leetcode-animation/find-all-numbers-disappeared-in-an-array) |
## 原地反转(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 189 | 轮转数组 | 中等 | 数组 · 原地反转 | [rotate-array](https://www.algomooc.com/leetcode-animation/rotate-array) |
## 原地旋转(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 48 | 旋转图像 | 中等 | 矩阵 · 原地旋转 | [rotate-image](https://www.algomooc.com/leetcode-animation/rotate-image) |
## 找峰值(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 162 | 寻找峰值 | 中等 | 二分查找 · 找峰值 | [find-peak-element](https://www.algomooc.com/leetcode-animation/find-peak-element) |
## 找最小(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 153 | 寻找旋转排序数组中的最小值 | 中等 | 二分查找 · 找最小 | [find-minimum-in-rotated-sorted-array](https://www.algomooc.com/leetcode-animation/find-minimum-in-rotated-sorted-array) |
## 指针重连(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 24 | 两两交换链表中的节点 | 中等 | 链表 · 指针重连 | [swap-nodes-in-pairs](https://www.algomooc.com/leetcode-animation/swap-nodes-in-pairs) |
## 中序遍历(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 230 | 二叉搜索树中第 K 小的元素 | 中等 | BST · 中序遍历 | [kth-smallest-element-in-a-bst](https://www.algomooc.com/leetcode-animation/kth-smallest-element-in-a-bst) |
## 字典序(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 31 | 下一个排列 | 中等 | 数组 · 字典序 | [next-permutation](https://www.algomooc.com/leetcode-animation/next-permutation) |
## 字符串 DP(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 139 | 单词拆分 | 中等 | 字符串 DP | [word-break](https://www.algomooc.com/leetcode-animation/word-break) |
## 综合(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 234 | 回文链表 | 简单 | 链表 · 综合 | [palindrome-linked-list](https://www.algomooc.com/leetcode-animation/palindrome-linked-list) |
## 组合(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 77 | 组合 | 中等 | 回溯 · 组合 | [combinations](https://www.algomooc.com/leetcode-animation/combinations) |
## 最大最小(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 152 | 乘积最大子数组 | 中等 | 动态规划 · 最大最小 | [maximum-product-subarray](https://www.algomooc.com/leetcode-animation/maximum-product-subarray) |
## 最后位置(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 763 | 划分字母区间 | 中等 | 贪心 · 最后位置 | [partition-labels](https://www.algomooc.com/leetcode-animation/partition-labels) |
## Catalan(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 96 | 不同的二叉搜索树 | 中等 | 动态规划 · Catalan | [unique-binary-search-trees](https://www.algomooc.com/leetcode-animation/unique-binary-search-trees) |
## Dijkstra(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 743 | 网络延迟时间 | 中等 | 图 · Dijkstra | [network-delay-time](https://www.algomooc.com/leetcode-animation/network-delay-time) |
## DP(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 120 | 三角形最小路径和 | 中等 | DP | [triangle](https://www.algomooc.com/leetcode-animation/triangle) |
## DP 入门(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 1137 | 泰波那契数 | 简单 | DP 入门 | [n-th-tribonacci-number](https://www.algomooc.com/leetcode-animation/n-th-tribonacci-number) |
## Kadane(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 53 | 最大子数组和 | 中等 | 动态规划 · Kadane | [maximum-subarray](https://www.algomooc.com/leetcode-animation/maximum-subarray) |
## KMP(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 28 | 找出字符串中第一个匹配项的下标 | 中等 | 字符串 · KMP | [find-the-index-of-the-first-occurrence-in-a-string](https://www.algomooc.com/leetcode-animation/find-the-index-of-the-first-occurrence-in-a-string) |
## LCA(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 236 | 最近公共祖先 | 中等 | 二叉树 · LCA | [lowest-common-ancestor-of-a-binary-tree](https://www.algomooc.com/leetcode-animation/lowest-common-ancestor-of-a-binary-tree) |
## LCS(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 1143 | 最长公共子序列 | 中等 | 动态规划 · LCS | [longest-common-subsequence](https://www.algomooc.com/leetcode-animation/longest-common-subsequence) |
## LIS(1)
| # | 题目 | 难度 | 分类 | 网站路径 |
| :-- | :-- | :-- | :-- | :-- |
| 300 | 最长递增子序列 | 中等 | 动态规划 · LIS | [longest-increasing-subsequence](https://www.algomooc.com/leetcode-animation/longest-increasing-subsequence) |