# 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) |