1. 前言

  2. 常用数据结构

    1. 数组和字符串

      1. 数组
      2. 字符串
    2. 链表

    3. 栈和队列

      1. 队列
      2. 单调栈
      3. 单调队列
      4. 优先队列
    4. 哈希表

      1. 二叉树
      2. 二叉搜索树操作
      3. 二叉搜索树
      4. 多叉树
  3. 算法

    1. 排序

      1. 排序实现
      2. 排序
    2. 二分查找

    3. 位运算

    4. 前缀和

      1. 前缀和实现
      2. 前缀和
    5. 滑动窗口

    6. 双指针

    7. 广度优先搜索和深度优先搜索

    8. 回溯

    9. 图算法

      1. 拓扑排序
      2. 最短路
      3. 最小生成树
    10. 分治

    11. 贪心

    12. 动态规划

      1. 线性动态规划

        1. 单序列动态规划
        2. 双序列动态规划
        3. 矩阵动态规划
        4. 线性附加维度动态规划
      2. 区间动态规划

      3. 背包问题

      4. 树形动态规划

      5. 数位动态规划

      6. 状态压缩动态规划

      7. 记忆化搜索

    13. 字符串算法

      1. 字符串匹配
      2. 字符串哈希
  4. 高级数据结构

    1. 字典树

      1. 字典树实现
      2. 字典树
    2. 并查集

    3. 线段树和树状数组

  5. 数学

    1. 整数操作

    2. 进制转换

    3. 模拟计算

      1. 整数加法
      2. 整数乘法
      3. 分数加法和减法
      4. 幂次计算
      5. 复数乘法
      6. 解方程和方程组
      7. 分数和小数转换
      8. 代数式计算
    4. 模拟操作

    5. 构造

    6. 数论

    7. 组合数学

    8. 概率与统计

    9. 随机化

    10. 几何

    11. 约瑟夫环

    12. 博弈

  6. 专题系列

    1. 入门
    2. 最小操作次数使数组元素相等
    3. 螺旋矩阵
    4. 计算一个环形街道上的房屋数量
    5. 环形链表
    6. 删除排序链表中的重复元素
    7. 删除字符串中的所有相邻重复项
    8. 下一个更大元素
    9. 车队
    10. 罗马数字
    11. 判断通过操作能否让字符串相等
    12. 二叉树的遍历
    13. 路径总和
    14. 最近公共祖先
    15. 二叉树的堂兄弟结点
    16. 二叉搜索树中的中序后继
    17. 存在重复元素
    18. 会议室
    19. 搜索二维矩阵
    20. 搜索旋转排序数组
    21. 寻找旋转排序数组中的最小值
    22. H 指数
    23. 从一个范围内选择最多整数
    24. 寻找峰值
    25. 只出现一次的数字
    26. 最大连续 1 的个数
    27. 指定不同字符数量上限的最长子串
    28. 子数组最大平均数
    29. 删除有序数组中的重复项
    30. 反转字符串中的单词
    31. 最短单词距离
    32. 两数之和
    33. 接雨水
    34. 迷宫
    35. 课程表
    36. 数独
    37. 单词搜索
    38. 国际象棋
    39. Excel
    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. 猫和老鼠

前言

LeetCode 的题目数量众多,且题号顺序没有特定含义,如果按题号顺序做题,则效果不会好。

正确的做题顺序是按照知识点做题,同一个知识点按照难度从低到高的顺序做题。

本文列举我写的题解,按照知识点和难度分类。每道题包括题目链接和题解链接。

说明:

  1. 知识点和官方的题目标签并非完全一致,而是根据题目的重点划分知识点。
  2. 难度为个人定的细分等级,与官方的题目难度并非完全一致。

常用数据结构

数组和字符串

数组

1 级

  1. 1550. 存在连续三个奇数的数组 题解
  2. 1534. 统计好三元组 题解
  3. 867. 转置矩阵 题解
  4. 1572. 矩阵对角线元素的和 题解

2 级

  1. 896. 单调数列 题解
  2. 1450. 在既定时间做作业的学生人数 题解
  3. 566. 重塑矩阵 题解
  4. 999. 可以被一步捕获的棋子数 题解

3 级

  1. 66. 加一 题解
  2. 989. 数组形式的整数加法 题解
  3. 485. 最大连续 1 的个数 题解
  4. 661. 图片平滑器 题解
  5. 1222. 可以攻击国王的皇后 题解

4 级

  1. 565. 数组嵌套 题解
  2. 665. 非递减数列 题解
  3. 1014. 最佳观光组合 题解
  4. 1583. 统计不开心的朋友 题解
  5. 498. 对角线遍历 题解
  6. 289. 生命游戏 题解

5 级

  1. 915. 分割数组 题解
  2. 1503. 所有蚂蚁掉下来前的最后一刻 题解
  3. 1535. 找出数组游戏的赢家 题解
  4. 238. 除自身以外数组的乘积 题解
  5. 396. 旋转函数 题解
  6. 48. 旋转图像 题解

6 级

  1. 334. 递增的三元子序列 题解
  2. 775. 全局倒置与局部倒置 题解
  3. 835. 图像重叠 题解
  4. 900. RLE 迭代器 题解

7 级

  1. 667. 优美的排列 II 题解

8 级

  1. 798. 得分最高的最小轮调 题解

字符串

1 级

  1. 709. 转换成小写字母 题解
  2. 1662. 检查两个字符串数组是否相等 题解

2 级

  1. 520. 检测大写字母 题解
  2. 1704. 判断字符串的两半是否相似 题解
  3. 824. 山羊拉丁文 题解
  4. 1678. 设计 Goal 解析器 题解
  5. 551. 学生出勤记录 I 题解
  6. 1556. 千位分隔数 题解

3 级

  1. 58. 最后一个单词的长度 题解
  2. 434. 字符串中的单词数 题解
  3. 806. 写字符串需要的行数 题解
  4. 1694. 重新格式化电话号码 题解
  5. 1528. 重新排列字符串 题解
  6. 1309. 解码字母到整数映射 题解

4 级

  1. 696. 计数二进制子串 题解
  2. 6. Z 字形变换 题解
  3. 468. 验证 IP 地址 题解
  4. 831. 隐藏个人信息 题解
  5. 1328. 破坏回文串 题解

5 级

  1. 1324. 竖直打印单词 题解
  2. 777. 在 LR 字符串中交换相邻字符 题解
  3. 809. 情感丰富的文字 题解

6 级

  1. 8. 字符串转换整数 (atoi) 题解
  2. 1410. HTML 实体解析器 题解

7 级

  1. 1419. 数青蛙 题解
  2. 722. 删除注释 题解

8 级

  1. 65. 有效数字 题解

链表

2 级

  1. 1290. 二进制链表转整数 题解

3 级

  1. 19. 删除链表的倒数第 N 个结点 题解
  2. 1721. 交换链表中的结点 题解
  3. 876. 链表的中间结点 题解
  4. 21. 合并两个有序链表 题解
  5. 2. 两数相加 题解
  6. 203. 移除链表元素 题解
  7. 237. 删除链表中的结点 题解
  8. 206. 反转链表 题解
  9. 234. 回文链表 题解
  10. 83. 删除排序链表中的重复元素 题解

4 级

  1. 82. 删除排序链表中的重复元素 II 题解
  2. 1669. 合并两个链表 题解
  3. 61. 旋转链表 题解
  4. 92. 反转链表 II 题解
  5. 328. 奇偶链表 题解
  6. 24. 两两交换链表中的结点 题解
  7. 25. K 个一组反转链表 题解

5 级

  1. 86. 分隔链表 题解
  2. 725. 将链表分隔成 K 个部分 题解
  3. 143. 重排链表 题解
  4. 707. 设计链表 题解

9 级

  1. 1206. 设计跳表 题解

栈和队列

2 级

  1. 1598. 文件夹操作日志搜集器 题解
  2. 1614. 括号的最大嵌套深度 题解

3 级

  1. 20. 有效的括号 题解
  2. 682. 棒球比赛 题解
  3. 1021. 删除最外层的括号 题解
  4. 1047. 删除字符串中的所有相邻重复项 题解
  5. 1441. 用栈操作构建数组 题解

4 级

  1. 445. 两数相加 II 题解
  2. 150. 逆波兰表达式求值 题解
  3. 921. 使括号有效的最少添加 题解
  4. 1541. 平衡括号字符串的最少插入次数 题解
  5. 155. 最小栈 题解

5 级

  1. 735. 行星碰撞 题解
  2. 946. 验证栈序列 题解
  3. 1003. 检查替换后的词是否有效 题解
  4. 1190. 反转每对括号间的子串 题解
  5. 1249. 移除无效的括号 题解

6 级

  1. 71. 简化路径 题解
  2. 856. 括号的分数 题解
  3. 636. 函数的独占时间 题解
  4. 394. 字符串解码 题解
  5. 1106. 解析布尔表达式 题解
  6. 1111. 有效括号的嵌套深度 题解
  7. 1209. 删除字符串中的所有相邻重复项 II 题解
  8. 385. 迷你语法分析器 题解
  9. 1472. 设计浏览器历史记录 题解

7 级

  1. 224. 基本计算器 题解
  2. 227. 基本计算器 II 题解
  3. 388. 文件的最长绝对路径 题解
  4. 591. 标签验证器 题解

队列

3 级

  1. 1700. 无法吃午餐的学生数量 题解
  2. 933. 最近的请求次数 题解

4 级

  1. 225. 用队列实现栈 题解
  2. 232. 用栈实现队列 题解

6 级

  1. 950. 按递增顺序显示卡牌 题解
  2. 622. 设计循环队列 题解
  3. 641. 设计循环双端队列 题解

单调栈

6 级

  1. 316. 去除重复字母 题解
  2. 402. 移掉 K 位数字 题解
  3. 1673. 找出最具竞争力的子序列 题解
  4. 456. 132 模式 题解
  5. 739. 每日温度 题解
  6. 42. 接雨水 题解
  7. 901. 股票价格跨度 题解

7 级

  1. 962. 最大宽度坡 题解
  2. 907. 子数组的最小值之和 题解
  3. 84. 柱状图中最大的矩形 题解

8 级

  1. 85. 最大矩形 题解

单调队列

6 级

  1. 1438. 绝对差不超过限制的最长连续子数组 题解

7 级

  1. 1499. 满足不等式的最大值 题解

8 级

  1. 862. 和至少为 K 的最短子数组 题解

优先队列

3 级

  1. 1046. 最后一块石头的重量 题解
  2. 703. 数据流中的第 K 大元素 题解

4 级

  1. 1094. 拼车 题解

6 级

  1. 23. 合并 K 个升序链表 题解
  2. 239. 滑动窗口最大值 题解
  3. 295. 数据流的中位数 题解

7 级

  1. 1354. 多次求和构造目标数组 题解

8 级

  1. 1675. 数组的最小偏移量 题解

哈希表

2 级

  1. 1. 两数之和 题解
  2. 804. 唯一摩尔斯密码词 题解
  3. 202. 快乐数 题解
  4. 961. 在长度 2N 的数组中找出重复 N 次的元素 题解
  5. 36. 有效的数独 题解
  6. 500. 键盘行 题解
  7. 771. 宝石与石头 题解
  8. 383. 赎金信 题解
  9. 1189. “气球”的最大数量 题解
  10. 160. 相交链表 题解
  11. 141. 环形链表 题解
  12. 142. 环形链表 II 题解

3 级

  1. 12. 整数转罗马数字 题解
  2. 13. 罗马数字转整数 题解
  3. 205. 同构字符串 题解
  4. 290. 单词规律 题解
  5. 890. 查找和替换模式 题解
  6. 387. 字符串中的第一个唯一字符 题解
  7. 888. 公平的糖果交换 题解
  8. 1394. 找出数组中的幸运数 题解
  9. 929. 独特的电子邮件地址 题解
  10. 953. 验证外星语词典 题解
  11. 1002. 查找共用字符 题解
  12. 1624. 两个相同字符之间的最长子字符串 题解
  13. 748. 最短补全词 题解
  14. 859. 亲密字符串 题解
  15. 1496. 判断路径是否相交 题解
  16. 73. 矩阵置零 题解
  17. 705. 设计哈希集合 题解
  18. 706. 设计哈希映射 题解

4 级

  1. 423. 从英文中重建数字 题解
  2. 299. 猜数字游戏 题解
  3. 532. 数组中的 k-diff 数对 题解
  4. 697. 数组的度 题解
  5. 916. 单词子集 题解
  6. 811. 子域名访问计数 题解
  7. 1138. 字母板上的路径 题解
  8. 1347. 制造字母异位词的最小步骤数 题解

5 级

  1. 1577. 数的平方等于两数乘积的方法数 题解
  2. 554. 砖墙 题解
  3. 781. 森林中的兔子 题解
  4. 1487. 保证文件名唯一 题解

6 级

  1. 128. 最长连续序列 题解
  2. 609. 在系统中查找重复文件 题解
  3. 442. 数组中重复的数据 题解
  4. 454. 四数相加 II 题解
  5. 1001. 网格照明 题解
  6. 1171. 从链表中删去总和值为零的连续结点 题解
  7. 1396. 设计地铁系统 题解

7 级

  1. 41. 缺失的第一个正数 题解
  2. 966. 元音拼写检查器 题解
  3. 535. TinyURL 的加密与解密 题解
  4. 895. 最大频率栈 题解
  5. 355. 设计推特 题解
  6. 146. LRU 缓存 题解

8 级

  1. 1224. 最大相等频率 题解
  2. 726. 原子的数量 题解

9 级

  1. 460. LFU 缓存 题解

10 级

  1. 736. Lisp 语法解析 题解
  2. 432. 全 O(1) 的数据结构 题解

二叉树

3 级

  1. 144. 二叉树的前序遍历 题解
  2. 94. 二叉树的中序遍历 题解
  3. 145. 二叉树的后序遍历 题解
  4. 114. 二叉树展开为链表 题解
  5. 965. 单值二叉树 题解
  6. 100. 相同的树 题解
  7. 101. 对称二叉树 题解
  8. 226. 翻转二叉树 题解
  9. 617. 合并二叉树 题解
  10. 104. 二叉树的最大深度 题解
  11. 111. 二叉树的最小深度 题解
  12. 112. 路径总和 题解
  13. 1022. 从根到叶的二进制数之和 题解
  14. 404. 左叶子之和 题解
  15. 872. 叶子相似的树 题解
  16. 993. 二叉树的堂兄弟结点 题解
  17. 606. 根据二叉树创建字符串 题解
  18. 543. 二叉树的直径 题解
  19. 563. 二叉树的坡度 题解

4 级

  1. 102. 二叉树的层序遍历 题解
  2. 107. 二叉树的层序遍历 II 题解
  3. 103. 二叉树的锯齿形层序遍历 题解
  4. 199. 二叉树的右视图 题解
  5. 116. 填充每个结点的下一个右侧结点指针 题解
  6. 117. 填充每个结点的下一个右侧结点指针 II 题解
  7. 637. 二叉树的层平均值 题解
  8. 1161. 最大层内元素和 题解
  9. 1302. 层数最深叶子结点的和 题解
  10. 1609. 奇偶树 题解
  11. 951. 翻转等价二叉树 题解
  12. 814. 二叉树剪枝 题解
  13. 110. 平衡二叉树 题解
  14. 113. 路径总和 II 题解
  15. 257. 二叉树的所有路径 题解

5 级

  1. 1104. 二叉树寻路 题解
  2. 105. 从前序与中序遍历序列构造二叉树 题解
  3. 106. 从中序与后序遍历序列构造二叉树 题解
  4. 654. 最大二叉树 题解
  5. 998. 最大二叉树 II 题解
  6. 437. 路径总和 III 题解
  7. 623. 在二叉树中增加一行 题解
  8. 662. 二叉树最大宽度 题解
  9. 1448. 统计二叉树中好结点的数目 题解
  10. 236. 二叉树的最近公共祖先 题解
  11. 865. 具有所有最深结点的最小子树 题解
  12. 1026. 结点与其祖先之间的最大差值 题解
  13. 1315. 祖父结点值为偶数的结点和 题解
  14. 958. 二叉树的完全性检验 题解
  15. 971. 翻转二叉树以匹配前序遍历 题解
  16. 1261. 在受污染的二叉树中查找元素 题解

6 级

  1. 1028. 从前序遍历还原二叉树 题解
  2. 1145. 二叉树着色游戏 题解
  3. 655. 输出二叉树 题解
  4. 1339. 分裂二叉树的最大乘积 题解
  5. 979. 在二叉树中分配硬币 题解
  6. 1080. 根到叶路径上的不足结点 题解
  7. 1110. 删点成林 题解
  8. 1530. 好叶子结点对的数量 题解
  9. 919. 完全二叉树插入器 题解

7 级

  1. 889. 从前序与后序遍历序列构造二叉树 题解
  2. 652. 寻找重复的子树 题解

8 级

  1. 297. 二叉树的序列化与反序列化 题解

二叉搜索树操作

2 级

  1. 700. 二叉搜索树中的搜索操作 题解

3 级

  1. 701. 二叉搜索树中的插入操作 题解

5 级

  1. 450. 删除二叉搜索树中的结点 题解

二叉搜索树

3 级

  1. 235. 二叉搜索树的最近公共祖先 题解
  2. 98. 验证二叉搜索树 题解
  3. 530. 二叉搜索树的最小绝对差 题解
  4. 897. 递增顺序搜索树 题解
  5. 669. 修剪二叉搜索树 题解
  6. 938. 二叉搜索树的范围和 题解
  7. 501. 二叉搜索树中的众数 题解

4 级

  1. 538. 把二叉搜索树转换为累加树 题解
  2. 108. 将有序数组转换为二叉搜索树 题解
  3. 173. 二叉搜索树迭代器 题解

5 级

  1. 1008. 前序遍历构造二叉搜索树 题解
  2. 99. 恢复二叉搜索树 题解
  3. 109. 将有序链表转换为二叉搜索树 题解

6 级

  1. 449. 序列化和反序列化二叉搜索树 题解

多叉树

3 级

  1. 589. N 叉树的前序遍历 题解
  2. 590. N 叉树的后序遍历 题解
  3. 559. N 叉树的最大深度 题解

4 级

  1. 429. N 叉树的层序遍历 题解

5 级

  1. 1519. 子树中标签相同的结点数 题解
  2. 1600. 王位继承顺序 题解

6 级

  1. 1443. 收集树上所有苹果的最少时间 题解

3 级

  1. 997. 找到小镇的法官 题解
  2. 1791. 找出星型图的中心结点 题解

4 级

  1. 1557. 可以到达所有点的最少点数目 题解
  2. 1042. 不邻接植花 题解
  3. 1615. 最大网络秩 题解

算法

排序

排序实现

4 级

  1. 912. 排序数组 题解

5 级

  1. 147. 对链表进行插入排序 题解

6 级

  1. 148. 排序链表 题解

排序

2 级

  1. 1502. 判断能否形成等差数列 题解
  2. 1200. 最小绝对差 题解
  3. 1051. 高度检查器 题解
  4. 1619. 删除某些元素后的数组均值 题解
  5. 169. 多数元素 题解
  6. 242. 有效的字母异位词 题解
  7. 414. 第三大的数 题解
  8. 1464. 数组中两元素的最大乘积 题解
  9. 977. 有序数组的平方 题解
  10. 268. 丢失的数字 题解
  11. 389. 找不同 题解

3 级

  1. 229. 多数元素 II 题解
  2. 628. 三个数的最大乘积 题解
  3. 645. 错误的集合 题解
  4. 539. 最小时间差 题解
  5. 506. 相对名次 题解
  6. 581. 最短无序连续子数组 题解
  7. 1460. 通过翻转子数组使两个数组相等 题解
  8. 1122. 数组的相对排序 题解
  9. 1636. 按照频率将数组升序排序 题解
  10. 451. 根据字符出现频率排序 题解
  11. 1331. 数组序号转换 题解
  12. 1637. 两点之间不包含任何点的最宽垂直面积 题解
  13. 937. 重新排列日志文件 题解
  14. 1333. 餐厅过滤器 题解

4 级

  1. 49. 字母异位词分组 题解
  2. 1433. 检查一个字符串是否可以打破另一个字符串 题解
  3. 1604. 警告一小时内使用相同员工卡大于等于三次的人 题解
  4. 75. 颜色分类 题解

5 级

  1. 56. 合并区间 题解
  2. 57. 插入区间 题解
  3. 1288. 删除被覆盖区间 题解
  4. 846. 一手顺子 题解
  5. 274. H 指数 题解
  6. 1509. 三次操作后最大值与最小值的最小差 题解
  7. 1329. 将矩阵按对角线排序 题解

6 级

  1. 1424. 对角线遍历 II 题解

7 级

  1. 1727. 重新排列后的最大子矩阵 题解

8 级

  1. 493. 翻转对 题解
  2. 327. 区间和的个数 题解
  3. 315. 计算右侧小于当前元素的个数 题解
  4. 1649. 通过指令创建有序数组 题解
  5. 164. 最大间距 题解

9 级

  1. 1585. 检查字符串是否可以通过排序子字符串得到另一个字符串 题解

二分查找

2 级

  1. 704. 二分查找 题解
  2. 35. 搜索插入位置 题解
  3. 374. 猜数字大小 题解

3 级

  1. 74. 搜索二维矩阵 题解
  2. 69. x 的平方根 题解
  3. 278. 第一个错误的版本 题解

4 级

  1. 34. 在排序数组中查找元素的第一个和最后一个位置 题解
  2. 540. 有序数组中的单一元素 题解

5 级

  1. 33. 搜索旋转排序数组 题解
  2. 153. 寻找旋转排序数组中的最小值 题解
  3. 275. H 指数 II 题解
  4. 240. 搜索二维矩阵 II 题解
  5. 875. 爱吃香蕉的珂珂 题解
  6. 1011. 在 D 天内送达包裹的能力 题解
  7. 1283. 使结果不超过阈值的最小除数 题解
  8. 1482. 制作 m 束花所需的最少天数 题解
  9. 1552. 两球之间的磁力 题解

6 级

  1. 81. 搜索旋转排序数组 II 题解
  2. 154. 寻找旋转排序数组中的最小值 II 题解
  3. 436. 寻找右区间 题解
  4. 162. 寻找峰值 题解

7 级

  1. 1901. 寻找峰值 II 题解
  2. 668. 乘法表中第 k 小的数 题解
  3. 911. 在线选举 题解
  4. 981. 基于时间的键值存储 题解
  5. 1146. 快照数组 题解

8 级

  1. 4. 寻找两个正序数组的中位数 题解
  2. 1095. 山脉数组中查找目标值 题解

位运算

1 级

  1. 1486. 数组异或操作 题解

2 级

  1. 1720. 解码异或后的数组 题解
  2. 693. 交替位二进制数 题解
  3. 191. 位 1 的个数 题解
  4. 338. 比特位计数 题解
  5. 461. 汉明距离 题解
  6. 190. 颠倒二进制位 题解

3 级

  1. 401. 二进制手表 题解
  2. 868. 二进制间距 题解
  3. 476. 数字的补数 题解
  4. 405. 数字转换为十六进制数 题解
  5. 371. 两整数之和 题解

4 级

  1. 1318. 或运算的最小翻转次数 题解
  2. 318. 最大单词长度乘积 题解
  3. 393. UTF-8 编码验证 题解
  4. 477. 汉明距离总和 题解

5 级

  1. 201. 数字范围按位与 题解
  2. 957. N 天后的牢房 题解
  3. 1442. 形成两个异或相等数组的三元组数目 题解
  4. 1680. 连接连续二进制数字 题解
  5. 89. 格雷编码 题解
  6. 1238. 循环码排列 题解

6 级

  1. 1734. 解码异或后的排列 题解
  2. 29. 两数相除 题解
  3. 287. 寻找重复数 题解
  4. 982. 按位与为零的三元组 题解

7 级

  1. 1386. 安排电影院座位 题解

8 级

  1. 810. 黑板异或游戏 题解
  2. 1521. 找到最接近目标值的函数值 题解
  3. 1542. 找出最长的超赞子字符串 题解

前缀和

前缀和实现

3 级

  1. 303. 区域和检索 - 数组不可变 题解

5 级

  1. 304. 二维区域和检索 - 矩阵不可变 题解

前缀和

1 级

  1. 1480. 一维数组的动态和 题解

2 级

  1. 1413. 逐步求和得到正数的最小值 题解

3 级

  1. 724. 寻找数组的中心下标 题解

4 级

  1. 1310. 子数组异或查询 题解

5 级

  1. 560. 和为 K 的子数组 题解
  2. 974. 和可被 K 整除的子数组 题解
  3. 523. 连续的子数组和 题解
  4. 525. 连续数组 题解
  5. 1109. 航班预订统计 题解
  6. 1737. 满足三条件之一需改变的最少字符数 题解
  7. 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗? 题解

6 级

  1. 1685. 有序数组中差绝对值之和 题解

7 级

  1. 1674. 使数组互补的最少操作次数 题解
  2. 1124. 表现良好的最长时间段 题解
  3. 1292. 元素和小于等于阈值的正方形的最大边长 题解
  4. 1074. 元素和为目标值的子矩阵数量 题解

滑动窗口

3 级

  1. 643. 子数组最大平均数 I 题解
  2. 1343. 大小为 K 且平均值大于等于阈值的子数组数目 题解

4 级

  1. 1423. 可获得的最大点数 题解
  2. 1052. 爱生气的书店老板 题解
  3. 1456. 定长子串中元音的最大数目 题解
  4. 567. 字符串的排列 题解
  5. 438. 找到字符串中所有字母异位词 题解

5 级

  1. 3. 无重复字符的最长子串 题解
  2. 1208. 尽可能使字符串相等 题解
  3. 1004. 最大连续 1 的个数 III 题解
  4. 904. 水果成篮 题解
  5. 209. 长度最小的子数组 题解
  6. 1658. 将 x 减到 0 的最小操作数 题解
  7. 1695. 删除子数组的最大得分 题解
  8. 713. 乘积小于 K 的子数组 题解
  9. 1358. 包含所有三种字符的子字符串数目 题解
  10. 1248. 统计「优美子数组」 题解

6 级

  1. 30. 串联所有单词的子串 题解
  2. 76. 最小覆盖子串 题解
  3. 424. 替换后的最长重复字符 题解

7 级

  1. 992. K 个不同整数的子数组 题解
  2. 1234. 替换子串得到平衡字符串 题解

8 级

  1. 995. K 连续位的最小翻转次数 题解

9 级

  1. 480. 滑动窗口中位数 题解

双指针

2 级

  1. 344. 反转字符串 题解
  2. 88. 合并两个有序数组 题解
  3. 905. 按奇偶排序数组 题解
  4. 922. 按奇偶排序数组 II 题解

3 级

  1. 541. 反转字符串 II 题解
  2. 557. 反转字符串中的单词 III 题解
  3. 345. 反转字符串中的元音字母 题解
  4. 917. 仅仅反转字母 题解
  5. 125. 验证回文串 题解
  6. 680. 验证回文串 II 题解
  7. 167. 两数之和 II - 输入有序数组 题解
  8. 26. 删除有序数组中的重复项 题解
  9. 27. 移除元素 题解
  10. 283. 移动零 题解
  11. 349. 两个数组的交集 题解
  12. 350. 两个数组的交集 II 题解
  13. 653. 两数之和 IV - 输入二叉搜索树 题解
  14. 392. 判断子序列 题解

4 级

  1. 11. 盛最多水的容器 题解
  2. 1679. K 和数对的最大数目 题解
  3. 15. 三数之和 题解
  4. 16. 最接近的三数之和 题解
  5. 18. 四数之和 题解
  6. 658. 找到 K 个最接近的元素 题解
  7. 1471. 数组中的 k 个最强值 题解
  8. 969. 煎饼排序 题解
  9. 80. 删除有序数组中的重复项 II 题解
  10. 1089. 复写零 题解
  11. 611. 有效三角形的个数 题解
  12. 825. 适龄的朋友 题解
  13. 986. 区间列表的交集 题解
  14. 443. 压缩字符串 题解
  15. 925. 长按键入 题解

5 级

  1. 31. 下一个排列 题解
  2. 923. 三数之和的多种可能 题解
  3. 475. 供暖器 题解
  4. 838. 推多米诺 题解
  5. 481. 神奇字符串 题解

6 级

  1. 1712. 将数组分成三个子数组的方案数 题解
  2. 795. 区间子数组个数 题解
  3. 1616. 分割两个字符串得到回文串 题解

7 级

  1. 719. 找出第 K 小的数对距离 题解
  2. 1498. 满足条件的子序列数目 题解
  3. 1574. 删除最短的子数组使剩余数组有序 题解

8 级

  1. 1163. 按字典序排在最后的子串 题解

广度优先搜索和深度优先搜索

3 级

  1. 1971. 寻找图中是否存在路径 题解

4 级

  1. 200. 岛屿数量 题解
  2. 419. 甲板上的战舰 题解
  3. 695. 岛屿的最大面积 题解
  4. 733. 图像渲染 题解
  5. 547. 省份数量 题解
  6. 463. 岛屿的周长 题解
  7. 542. 01 矩阵 题解
  8. 994. 腐烂的橘子 题解
  9. 1162. 地图分析 题解
  10. 841. 钥匙和房间 题解

5 级

  1. 1020. 飞地的数量 题解
  2. 1254. 统计封闭岛屿的数目 题解
  3. 130. 被围绕的区域 题解
  4. 1091. 二进制矩阵中的最短路径 题解
  5. 934. 最短的桥 题解
  6. 417. 太平洋大西洋水流问题 题解
  7. 529. 扫雷游戏 题解
  8. 1034. 边界着色 题解
  9. 785. 判断二分图 题解
  10. 886. 可能的二分法 题解
  11. 1376. 通知所有员工所需的时间 题解
  12. 1311. 获取你好友已观看的视频 题解
  13. 433. 最小基因变化 题解
  14. 127. 单词接龙 题解
  15. 752. 打开转盘锁 题解
  16. 365. 水壶问题 题解

6 级

  1. 1466. 重新规划路线 题解
  2. 1319. 连通网络的操作次数 题解
  3. 1361. 验证二叉树 题解
  4. 133. 克隆图 题解
  5. 1129. 颜色交替的最短路径 题解
  6. 773. 滑动谜题 题解
  7. 675. 为高尔夫比赛砍树 题解
  8. 1293. 网格中的最短路径 题解

7 级

  1. 430. 扁平化多级双向链表 题解
  2. 815. 公交路线 题解
  3. 1210. 穿过迷宫的最少移动次数 题解
  4. 909. 蛇梯棋 题解
  5. 1263. 推箱子 题解
  6. 1298. 你能从盒子里得到的最大糖果数 题解
  7. 1377. T 秒后青蛙的位置 题解

8 级

  1. 749. 隔离病毒 题解
  2. 407. 接雨水 II 题解
  3. 1568. 使陆地分离的最少天数 题解
  4. 847. 访问所有结点的最短路径 题解
  5. 864. 获取所有钥匙的最短路径 题解

9 级

  1. 1036. 逃离大迷宫 题解

10 级

  1. 1192. 查找集群内的「关键连接」 题解

回溯

4 级

  1. 17. 电话号码的字母组合 题解
  2. 46. 全排列 题解
  3. 77. 组合 题解
  4. 78. 子集 题解
  5. 784. 字母大小写全排列 题解
  6. 79. 单词搜索 题解
  7. 797. 所有可能的路径 题解

5 级

  1. 22. 括号生成 题解
  2. 47. 全排列 II 题解
  3. 90. 子集 II 题解
  4. 1601. 最多可达成的换楼请求数目 题解
  5. 1239. 串联字符串的最大长度 题解
  6. 1079. 活字印刷 题解
  7. 1219. 黄金矿工 题解
  8. 93. 复原 IP 地址 题解
  9. 306. 累加数 题解
  10. 842. 将数组拆分成斐波那契序列 题解
  11. 1415. 长度为 n 的开心字符串中字典序第 k 小的字符串 题解
  12. 1286. 字母组合迭代器 题解

6 级

  1. 51. N 皇后 题解
  2. 52. N 皇后 II 题解

7 级

  1. 37. 解数独 题解
  2. 679. 24 点游戏 题解
  3. 1718. 构建字典序最大的可行序列 题解

8 级

  1. 60. 排列序列 题解
  2. 282. 给表达式添加运算符 题解
  3. 301. 删除无效的括号 题解
  4. 126. 单词接龙 II 题解

9 级

  1. 1307. 口算难题 题解

图算法

拓扑排序

4 级

  1. 2115. 从给定原材料中找到所有可以做出的菜 题解

5 级

  1. 802. 找到最终的安全状态 题解

6 级

  1. 310. 最小高度树 题解

7 级

  1. 851. 喧闹和富有 题解

8 级

  1. 1203. 项目管理 题解
  2. 1591. 奇怪的打印机 II 题解

最短路

5 级

  1. 743. 网络延迟时间 题解
  2. 1334. 阈值距离内邻居最少的城市 题解

6 级

  1. 1368. 使网格图至少有一条有效路径的最小代价 题解

7 级

  1. 1514. 概率最大的路径 题解

9 级

  1. 882. 细分图中的可到达结点 题解

最小生成树

5 级

  1. 1584. 连接所有点的最小费用 题解

8 级

  1. 1489. 找到最小生成树里的关键边和伪关键边 题解

分治

5 级

  1. 95. 不同的二叉搜索树 II 题解
  2. 894. 所有可能的真二叉树 题解
  3. 427. 建立四叉树 题解
  4. 558. 四叉树交集 题解

6 级

  1. 215. 数组中的第 K 个最大元素 题解
  2. 932. 漂亮数组 题解
  3. 395. 至少有 K 个重复字符的最长子串 题解

贪心

2 级

  1. 2389. 和有限的最长子序列 题解
  2. 1403. 非递增顺序的最小子序列 题解

3 级

  1. 1338. 数组大小减半 题解
  2. 1217. 玩筹码 题解
  3. 605. 种花问题 题解
  4. 807. 保持城市天际线 题解
  5. 1221. 分割平衡字符串 题解
  6. 1710. 卡车上的最大单元数 题解
  7. 561. 数组拆分 题解
  8. 976. 三角形的最大周长 题解
  9. 1005. K 次取反后最大化的数组和 题解
  10. 860. 柠檬水找零 题解
  11. 455. 分发饼干 题解
  12. 2410. 运动员和训练师的最大匹配数 题解

4 级

  1. 870. 优势洗牌 题解
  2. 1144. 递减元素使数组呈锯齿状 题解
  3. 763. 划分字母区间 题解
  4. 1247. 交换字符使得字符串相同 题解
  5. 948. 令牌放置 题解
  6. 1029. 两地调度 题解
  7. 1529. 最少的后缀翻转次数 题解
  8. 984. 不含 AAA 或 BBB 的字符串 题解
  9. 1663. 具有给定数值的最小字符串 题解
  10. 1689. 十-二进制数的最少数目 题解
  11. 991. 坏了的计算器 题解
  12. 2139. 得到目标值的最少行动次数 题解

5 级

  1. 1578. 使绳子变成彩色的最短时间 题解
  2. 1589. 所有排列中的最大和 题解
  3. 861. 翻转矩阵后的得分 题解
  4. 1647. 字符频次唯一的最小删除次数 题解
  5. 1400. 构造 K 个回文字符串 题解
  6. 738. 单调递增的数字 题解
  7. 1007. 行相等的最少多米诺旋转 题解
  8. 1717. 删除子字符串的最大得分 题解
  9. 649. Dota2 参议院 题解
  10. 881. 救生艇 题解
  11. 1090. 受标签影响的最大值 题解
  12. 1053. 交换一次的先前排列 题解
  13. 769. 最多能完成排序的块 题解
  14. 826. 安排工作以达到最大收益 题解
  15. 1733. 需要教语言的最少人数 题解
  16. 1605. 给定行和列的和求可行矩阵 题解

6 级

  1. 134. 加油站 题解
  2. 135. 分发糖果 题解
  3. 179. 最大数 题解
  4. 1414. 和为 K 的最少斐波那契数字数目 题解
  5. 1558. 得到目标数组的最少函数调用次数 题解
  6. 1546. 和为目标值且不重叠的非空子数组的最大数目 题解
  7. 452. 用最少数量的箭引爆气球 题解
  8. 621. 任务调度器 题解
  9. 1642. 可以到达的最远建筑 题解
  10. 1705. 吃苹果的最大数目 题解
  11. 1253. 重构 2 行二进制矩阵 题解
  12. 1405. 最长快乐字符串 题解
  13. 435. 无重叠区间 题解
  14. 1526. 形成目标数组的子数组最少增加次数 题解
  15. 2498. 青蛙过河 II 题解

7 级

  1. 659. 分割数组为连续子序列 题解
  2. 1536. 排布二进制网格的最少交换次数 题解
  3. 502. IPO 题解
  4. 632. 最小区间 题解
  5. 1353. 最多可以参加的会议数目 题解
  6. 1383. 最大的团队表现值 题解
  7. 1054. 距离相等的条形码 题解
  8. 767. 重构字符串 题解
  9. 1488. 避免洪水泛滥 题解
  10. 768. 最多能完成排序的块 II 题解
  11. 1702. 修改后的最大二进制字符串 题解

8 级

  1. 330. 按要求补齐数组 题解
  2. 517. 超级洗衣机 题解
  3. 757. 设置交集大小至少为 2 题解
  4. 857. 雇佣 K 名工人的最低成本 题解
  5. 1665. 完成所有任务的最少初始能量 题解
  6. 2412. 完成所有交易的初始最少钱数 题解

9 级

  1. 1330. 翻转子数组得到最大的数组值 题解
  2. 2499. 让数组不相等的最小总代价 题解

10 级

  1. 420. 强密码检验器 题解

动态规划

线性动态规划

单序列动态规划

2 级

  1. 509. 斐波那契数 题解
  2. 70. 爬楼梯 题解
  3. 1137. 第 N 个泰波那契数 题解

3 级

  1. 746. 使用最小花费爬楼梯 题解
  2. 53. 最大子数组和 题解
  3. 2606. 找到最大开销的子字符串 题解

4 级

  1. 413. 等差数列划分 题解
  2. 1218. 最长定差子序列 题解
  3. 279. 完全平方数 题解
  4. 300. 最长递增子序列 题解
  5. 343. 整数拆分 题解
  6. 2369. 检查数组是否存在有效划分 题解
  7. 96. 不同的二叉搜索树 题解

5 级

  1. 467. 环绕字符串中唯一的子字符串 题解
  2. 646. 最长数对链 题解
  3. 740. 删除并获得点数 题解
  4. 139. 单词拆分 题解
  5. 91. 解码方法 题解
  6. 1416. 恢复数组 题解

6 级

  1. 368. 最大整除子集 题解
  2. 673. 最长递增子序列的个数 题解
  3. 1043. 分隔数组以得到最大和 题解
  4. 1105. 填充书架 题解
  5. 1691. 堆叠长方体的最大高度 题解
  6. 823. 带因子的二叉树 题解

7 级

  1. 32. 最长有效括号 题解
  2. 1191. K 次串联后最大子数组之和 题解
  3. 1626. 无矛盾的最佳球队 题解

8 级

  1. 1235. 规划兼职工作 题解
  2. 1425. 带限制的子序列和 题解
  3. 639. 解码方法 II 题解
  4. 837. 新 21 点 题解

9 级

  1. 1687. 从仓库到码头运输箱子 题解
  2. 1187. 使数组严格递增 题解

10 级

  1. 818. 赛车 题解

双序列动态规划

5 级

  1. 1143. 最长公共子序列 题解
  2. 1035. 不相交的线 题解
  3. 583. 两个字符串的删除操作 题解
  4. 718. 最长重复子数组 题解

6 级

  1. 72. 编辑距离 题解
  2. 712. 两个字符串的最小 ASCII 删除和 题解
  3. 1458. 两个子序列的最大点积 题解

7 级

  1. 115. 不同的子序列 题解

8 级

  1. 1092. 最短公共超序列 题解
  2. 514. 自由之路 题解
  3. 10. 正则表达式匹配 题解
  4. 44. 通配符匹配 题解
  5. 97. 交错字符串 题解
  6. 808. 分汤 题解

矩阵动态规划

4 级

  1. 64. 最小路径和 题解
  2. 120. 三角形最小路径和 题解
  3. 931. 下降路径最小和 题解
  4. 1289. 下降路径最小和 II 题解

5 级

  1. 799. 香槟塔 题解

6 级

  1. 174. 地下城游戏 题解

7 级

  1. 221. 最大正方形 题解
  2. 1277. 统计全为 1 的正方形子矩阵 题解

线性附加维度动态规划

4 级

  1. 918. 环形子数组的最大和 题解
  2. 152. 乘积最大子数组 题解
  3. 845. 数组中的最长山脉 题解
  4. 1641. 统计字典序元音字符串的数目 题解

5 级

  1. 978. 最长湍流子数组 题解
  2. 376. 摆动序列 题解
  3. 926. 将字符串翻转到单调递增 题解
  4. 1567. 乘积为正数的最长子数组长度 题解
  5. 410. 分割数组的最大值 题解
  6. 764. 最大加号标志 题解
  7. 1594. 矩阵的最大非负积 题解
  8. 1524. 和为奇数的子数组数目 题解
  9. 1220. 统计元音字母序列的数目 题解
  10. 935. 骑士拨号器 题解

6 级

  1. 801. 使序列递增的最小交换次数 题解
  2. 1186. 删除一次得到子数组最大和 题解
  3. 1671. 得到山形数组的最少删除次数 题解
  4. 813. 最大平均值和的分组 题解
  5. 871. 最低加油次数 题解
  6. 1301. 最大得分的路径数目 题解
  7. 1411. 给 N × 3 网格图涂色的方案数 题解
  8. 1269. 停在原地的方案数 题解
  9. 2400. 恰好移动 k 步到达某一位置的方法数目 题解
  10. 2435. 矩阵中和能被 K 整除的路径 题解

7 级

  1. 1027. 最长等差数列 题解
  2. 1884. 鸡蛋掉落-两枚鸡蛋 题解
  3. 1139. 最大的以 1 为边界的正方形 题解
  4. 1931. 用三种不同颜色为网格涂色 题解
  5. 552. 学生出勤记录 II 题解
  6. 790. 多米诺和托米诺平铺 题解
  7. 576. 出界的路径数 题解
  8. 688. 骑士在棋盘上的概率 题解

8 级

  1. 1537. 最大得分 题解
  2. 956. 最高的广告牌 题解
  3. 1388. 3n 块披萨 题解
  4. 1335. 工作计划的最低难度 题解
  5. 1478. 安排邮筒 题解
  6. 2463. 最小移动总距离 题解
  7. 1751. 最多可以参加的会议数目 II 题解
  8. 1463. 摘樱桃 II 题解
  9. 403. 青蛙过河 题解
  10. 446. 等差数列划分 II - 子序列 题解
  11. 629. K 个逆序对数组 题解
  12. 903. DI 序列的有效排列 题解
  13. 920. 播放列表的数量 题解
  14. 940. 不同的子序列 II 题解

9 级

  1. 1883. 准时抵达会议现场的最小跳过休息次数 题解
  2. 887. 鸡蛋掉落 题解
  3. 1473. 粉刷房子 III 题解
  4. 741. 摘樱桃 题解
  5. 1420. 生成数组 题解

10 级

  1. 1531. 压缩字符串 II 题解

区间动态规划

5 级

  1. 516. 最长回文子序列 题解
  2. 5. 最长回文子串 题解
  3. 647. 回文子串 题解
  4. 678. 有效的括号字符串 题解

6 级

  1. 1312. 让字符串成为回文串的最少插入次数 题解
  2. 375. 猜数字大小 II 题解

7 级

  1. 1039. 多边形三角剖分的最低得分 题解
  2. 1130. 叶值的最小代价生成树 题解

8 级

  1. 312. 戳气球 题解
  2. 1547. 切棍子的最小成本 题解
  3. 664. 奇怪的打印机 题解
  4. 730. 统计不同回文子序列 题解

9 级

  1. 1000. 合并石头的最低成本 题解
  2. 87. 扰乱字符串 题解

10 级

  1. 546. 移除盒子 题解

背包问题

4 级

  1. 322. 零钱兑换 题解

5 级

  1. 416. 分割等和子集 题解
  2. 494. 目标和 题解
  3. 518. 零钱兑换 II 题解
  4. 2585. 获得分数的方法数 题解

6 级

  1. 474. 一和零 题解
  2. 1155. 掷骰子等于目标和的方法数 题解

7 级

  1. 1049. 最后一块石头的重量 II 题解

8 级

  1. 1449. 数位成本和为目标值的最大数字 题解
  2. 879. 盈利计划 题解

树形动态规划

5 级

  1. 1372. 二叉树中的最长交错路径 题解

6 级

  1. 124. 二叉树中的最大路径和 题解

7 级

  1. 1373. 二叉搜索子树的最大键值和 题解

8 级

  1. 2646. 最小化旅行的价格总和 题解

9 级

  1. 968. 监控二叉树 题解

数位动态规划

8 级

  1. 233. 数字 1 的个数 题解
  2. 600. 不含连续 1 的非负整数 题解
  3. 902. 最大为 N 的数字组合 题解

9 级

  1. 1012. 至少有 1 位重复的数字 题解
  2. 2376. 统计特殊整数 题解

状态压缩动态规划

8 级

  1. 1125. 最小的必要团队 题解
  2. 1879. 两个数组最小的异或值之和 题解

9 级

  1. 1349. 参加考试的最大学生数 题解
  2. 1723. 完成所有工作的最短时间 题解

10 级

  1. 943. 最短超级串 题解
  2. 1595. 连通两组点的最小成本 题解
  3. 1434. 每个人戴不同帽子的方案数 题解

记忆化搜索

5 级

  1. 397. 整数替换 题解

6 级

  1. 329. 矩阵中的最长递增路径 题解

7 级

  1. 140. 单词拆分 II 题解

8 级

  1. 1553. 吃掉 N 个橘子的最少天数 题解

9 级

  1. 488. 祖玛游戏 题解

字符串算法

字符串匹配

3 级

  1. 28. 找出字符串中第一个匹配项的下标 题解
  2. 796. 旋转字符串 题解
  3. 459. 重复的子字符串 题解

5 级

  1. 686. 重复叠加字符串匹配 题解

字符串哈希

4 级

  1. 187. 重复的 DNA 序列 题解

5 级

  1. 1461. 检查一个字符串是否包含所有长度为 K 的二进制子串 题解

6 级

  1. 2156. 查找给定哈希值的子串 题解

8 级

  1. 214. 最短回文串 题解
  2. 1392. 最长快乐前缀 题解

9 级

  1. 1316. 不同的循环子字符串 题解

高级数据结构

字典树

字典树实现

5 级

  1. 208. 实现 Trie(前缀树) 题解

字典树

5 级

  1. 2416. 字符串的前缀分数和 题解
  2. 211. 添加与搜索单词 - 数据结构设计 题解

6 级

  1. 648. 单词替换 题解
  2. 1268. 搜索推荐系统 题解
  3. 820. 单词的压缩编码 题解
  4. 1233. 删除子文件夹 题解
  5. 386. 字典序排数 题解
  6. 676. 实现一个魔法字典 题解

7 级

  1. 212. 单词搜索 II 题解
  2. 677. 键值映射 题解
  3. 1032. 字符流 题解

8 级

  1. 421. 数组中两个数的最大异或值 题解
  2. 440. 字典序的第 K 小数字 题解

9 级

  1. 1707. 与数组中元素的最大异或值 题解
  2. 1803. 统计异或值在范围内的数对有多少 题解

并查集

5 级

  1. 684. 冗余连接 题解
  2. 990. 等式方程的可满足性 题解

6 级

  1. 1722. 执行交换操作后的最小汉明距离 题解
  2. 1202. 交换字符串中的元素 题解
  3. 839. 相似字符串组 题解

7 级

  1. 765. 情侣牵手 题解
  2. 721. 账户合并 题解
  3. 778. 水位上升的泳池中游泳 题解
  4. 959. 由斜杠划分区域 题解
  5. 947. 移除最多的同行或同列石头 题解
  6. 1391. 检查网格中是否存在有效路径 题解
  7. 1559. 二维网格图中探测环 题解
  8. 827. 最大人工岛 题解
  9. 952. 按公因数计算最大组件大小 题解
  10. 1627. 带阈值的图连通性 题解
  11. 924. 尽量减少恶意软件的传播 题解

8 级

  1. 928. 尽量减少恶意软件的传播 II 题解
  2. 685. 冗余连接 II 题解
  3. 1579. 保证图可完全遍历 题解
  4. 2076. 处理含限制条件的好友请求 题解
  5. 1697. 检查边长度限制的路径是否存在 题解
  6. 2503. 矩阵查询可获得的最大分数 题解

9 级

  1. 803. 打砖块 题解
  2. 2573. 找出对应 LCP 矩阵的字符串 题解

10 级

  1. 1632. 矩阵转换后的秩 题解

线段树和树状数组

8 级

  1. 307. 区域和检索 - 数组可修改 题解

10 级

  1. 1505. 最多 K 次交换相邻数位后得到的最小整数 题解
  2. 2286. 以组为单位订音乐会的门票 题解

数学

整数操作

2 级

  1. 9. 回文数 题解

5 级

  1. 7. 整数反转 题解

进制转换

2 级

  1. 504. 七进制数 题解

4 级

  1. 168. Excel 表列名称 题解
  2. 171. Excel 表列序号 题解
  3. 2396. 严格回文的数字 题解

7 级

  1. 1017. 负二进制转换 题解

10 级

  1. 483. 最小好进制 题解

模拟计算

整数加法

3 级

  1. 415. 字符串相加 题解
  2. 67. 二进制求和 题解

7 级

  1. 1073. 负二进制数相加 题解

整数乘法

4 级

  1. 43. 字符串相乘 题解

分数加法和减法

5 级

  1. 592. 分数加减运算 题解

幂次计算

5 级

  1. 50. Pow(x, n) 题解
  2. 372. 超级次方 题解

复数乘法

3 级

  1. 537. 复数乘法 题解

解方程和方程组

4 级

  1. 1276. 不浪费原料的汉堡制作方案 题解

5 级

  1. 640. 求解方程 题解

分数和小数转换

6 级

  1. 166. 分数到小数 题解

7 级

  1. 972. 相等的有理数 题解

代数式计算

10 级

  1. 770. 基本计算器 IV 题解

模拟操作

1 级

  1. 1281. 整数的各位积和之差 题解
  2. 1342. 将数字变成 0 的操作次数 题解

2 级

  1. 1688. 比赛中的配对次数 题解
  2. 1716. 计算力扣银行的钱 题解

3 级

  1. 189. 轮转数组 题解
  2. 1260. 二维网格迁移 题解
  3. 441. 排列硬币 题解
  4. 453. 最小操作次数使数组元素相等 题解
  5. 908. 最小差值 I 题解
  6. 1518. 换水问题 题解
  7. 3100. 换水问题 II 题解

4 级

  1. 1041. 困于环中的机器人 题解
  2. 1551. 使数组中所有元素相等的最小操作数 题解

5 级

  1. 462. 最小操作次数使数组元素相等 II 题解
  2. 910. 最小差值 II 题解
  3. 754. 到达终点数字 题解
  4. 1006. 笨阶乘 题解

6 级

  1. 273. 整数转换英文表示 题解
  2. 400. 第 N 位数字 题解

7 级

  1. 927. 三等分 题解
  2. 780. 到达终点 题解

8 级

  1. 1739. 放置盒子 题解

9 级

  1. 782. 变为棋盘 题解

构造

3 级

  1. 1304. 和为零的 N 个不同整数 题解
  2. 1317. 将整数转换为两个无零整数的和 题解

数论

1 级

  1. 231. 2 的幂 题解
  2. 326. 3 的幂 题解
  3. 342. 4 的幂 题解
  4. 258. 各位相加 题解
  5. 1523. 在区间范围内统计奇数数目 题解
  6. 2413. 最小偶倍数 题解

2 级

  1. 412. Fizz Buzz 题解
  2. 728. 自除数 题解
  3. 1492. n 的第 k 个因子 题解
  4. 1812. 判断国际象棋棋盘中一个格子的颜色 题解

3 级

  1. 492. 构造矩形 题解
  2. 507. 完美数 题解
  3. 367. 有效的完全平方数 题解

4 级

  1. 172. 阶乘后的零 题解
  2. 1447. 最简分数 题解
  3. 1071. 字符串的最大公因子 题解
  4. 204. 计数质数 题解
  5. 319. 灯泡开关 题解

5 级

  1. 672. 灯泡开关 II 题解

6 级

  1. 793. 阶乘函数后 K 个零 题解
  2. 829. 连续整数求和 题解
  3. 878. 第 N 个神奇数字 题解
  4. 1250. 检查「好数组」 题解

7 级

  1. 1015. 可被 K 整除的最小整数 题解

8 级

  1. 1819. 序列中不同最大公约数的数目 题解
  2. 2543. 判断一个点是否可以到达 题解

组合数学

3 级

  1. 118. 杨辉三角 题解
  2. 119. 杨辉三角 II 题解
  3. 1175. 质数排列 题解

4 级

  1. 357. 统计各位数字都不同的数字个数 题解

6 级

  1. 1359. 有效的快递序列数目 题解

8 级

  1. 458. 可怜的小猪 题解
  2. 1643. 第 K 条最小指令 题解

9 级

  1. 1735. 生成乘积数组的方案数 题解
  2. 2338. 统计理想数组的数目 题解

10 级

  1. 1569. 将子数组重新排序得到同一个二叉搜索树的方案数 题解

概率与统计

5 级

  1. 1093. 大样本统计 题解

6 级

  1. 1227. 飞机座位分配概率 题解

9 级

  1. 1467. 两个盒子中球的颜色数相同的概率 题解

随机化

3 级

  1. 382. 链表随机结点 题解

4 级

  1. 398. 随机数索引 题解

5 级

  1. 384. 打乱数组 题解
  2. 470. 用 Rand7() 实现 Rand10() 题解

6 级

  1. 380. O(1) 时间插入、删除和获取随机元素 题解
  2. 528. 按权重随机选择 题解

7 级

  1. 710. 黑名单中的随机数 题解
  2. 497. 非重叠矩形中的随机点 题解
  3. 478. 在圆内随机生成点 题解

8 级

  1. 381. O(1) 时间插入、删除和获取随机元素 - 允许重复 题解
  2. 519. 随机翻转矩阵 题解

几何

3 级

  1. 1037. 有效的回旋镖 题解
  2. 1232. 缀点成线 题解
  3. 1266. 访问所有点的最小时间 题解
  4. 593. 有效的正方形 题解
  5. 836. 矩形重叠 题解
  6. 223. 矩形面积 题解
  7. 2481. 分割圆的最少切割次数 题解
  8. 883. 三维形体投影面积 题解
  9. 892. 三维形体的表面积 题解

4 级

  1. 812. 最大三角形面积 题解
  2. 1344. 时钟指针的夹角 题解

5 级

  1. 2280. 表示一个折线图的最少线段数 题解
  2. 789. 逃脱阻碍者 题解

6 级

  1. 858. 镜面反射 题解
  2. 1401. 圆和矩形是否有重叠 题解

7 级

  1. 149. 直线上最多的点数 题解
  2. 1610. 可见点的最大数目 题解

8 级

  1. 1131. 绝对值表达式的最大值 题解
  2. 1453. 圆形靶内的最大飞镖数量 题解

9 级

  1. 335. 路径交叉 题解

约瑟夫环

3 级

  1. 1823. 找出游戏的获胜者 题解

6 级

  1. 390. 消除游戏 题解

博弈

3 级

  1. 292. Nim 游戏 题解
  2. 1025. 除数博弈 题解

4 级

  1. 1561. 你可以获得的最大硬币数目 题解

6 级

  1. 486. 预测赢家 题解

8 级

  1. 464. 我能赢吗 题解

9 级

  1. 913. 猫和老鼠 题解

10 级

  1. 1728. 猫和老鼠 II 题解

专题系列

专题由题材相同或相似的题目组成,相同标题的题目使用不同序号区分。

以下专题中,部分题目在上述知识点已经出现过。

每个专题使用表格列举题目和题解,以及难度。有 🔒 的是会员题。

入门

题目和题解难度
2235. 两整数相加 题解1 级
2236. 判断根结点是否等于子结点之和 题解1 级

最小操作次数使数组元素相等

题目和题解难度
453. 最小操作次数使数组元素相等 题解3 级
462. 最小操作次数使数组元素相等 II 题解5 级
3736. 最小操作次数使数组元素相等 III 题解2 级

螺旋矩阵

题目和题解难度
54. 螺旋矩阵 题解4 级
59. 螺旋矩阵 II 题解4 级
885. 螺旋矩阵 III 题解5 级
2326. 螺旋矩阵 IV 题解4 级

计算一个环形街道上的房屋数量

题目和题解难度
🔒2728. 计算一个环形街道上的房屋数量 题解3 级
🔒2753. 计算一个环形街道上的房屋数量 II 题解9 级

环形链表

题目和题解难度
141. 环形链表 题解2 级
142. 环形链表 II 题解2 级

删除排序链表中的重复元素

题目和题解难度
83. 删除排序链表中的重复元素 题解3 级
82. 删除排序链表中的重复元素 II 题解4 级

删除字符串中的所有相邻重复项

题目和题解难度
1047. 删除字符串中的所有相邻重复项 题解3 级
1209. 删除字符串中的所有相邻重复项 II 题解6 级

下一个更大元素

题目和题解难度
496. 下一个更大元素 I 题解3 级
503. 下一个更大元素 II 题解6 级
556. 下一个更大元素 III 题解5 级
2454. 下一个更大元素 IV 题解8 级
1019. 链表中的下一个更大结点 题解6 级

车队

题目和题解难度
853. 车队 题解7 级
1776. 车队 II 题解10 级

罗马数字

题目和题解难度
12. 整数转罗马数字 题解3 级
13. 罗马数字转整数 题解3 级

判断通过操作能否让字符串相等

题目和题解难度
2839. 判断通过操作能否让字符串相等 I 题解2 级
2840. 判断通过操作能否让字符串相等 II 题解3 级

二叉树的遍历

题目和题解难度
144. 二叉树的前序遍历 题解3 级
94. 二叉树的中序遍历 题解3 级
145. 二叉树的后序遍历 题解3 级
LCR 149. 彩灯装饰记录 I 题解3 级
102. 二叉树的层序遍历 题解4 级
LCR 150. 彩灯装饰记录 II 题解4 级
107. 二叉树的层序遍历 II 题解4 级
LCR 151. 彩灯装饰记录 III 题解4 级
103. 二叉树的锯齿形层序遍历 题解4 级

路径总和

题目和题解难度
112. 路径总和 题解3 级
113. 路径总和 II 题解4 级
437. 路径总和 III 题解5 级
🔒666. 路径总和 IV 题解5 级

最近公共祖先

题目和题解难度
235. 二叉搜索树的最近公共祖先 题解3 级
236. 二叉树的最近公共祖先 题解5 级
🔒1644. 二叉树的最近公共祖先 II 题解5 级
🔒1650. 二叉树的最近公共祖先 III 题解5 级
🔒1676. 二叉树的最近公共祖先 IV 题解5 级

二叉树的堂兄弟结点

题目和题解难度
993. 二叉树的堂兄弟结点 题解3 级
2641. 二叉树的堂兄弟结点 II 题解5 级

二叉搜索树中的中序后继

题目和题解难度
🔒285. 二叉搜索树中的中序后继 题解5 级
🔒510. 二叉搜索树中的中序后继 II 题解5 级

存在重复元素

题目和题解难度
217. 存在重复元素 题解2 级
219. 存在重复元素 II 题解3 级
220. 存在重复元素 III 题解6 级

会议室

题目和题解难度
🔒252. 会议室 题解3 级
🔒253. 会议室 II 题解5 级
2402. 会议室 III 题解7 级

搜索二维矩阵

题目和题解难度
74. 搜索二维矩阵 题解3 级
240. 搜索二维矩阵 II 题解5 级

搜索旋转排序数组

题目和题解难度
33. 搜索旋转排序数组 题解5 级
81. 搜索旋转排序数组 II 题解6 级

寻找旋转排序数组中的最小值

题目和题解难度
153. 寻找旋转排序数组中的最小值 题解5 级
154. 寻找旋转排序数组中的最小值 II 题解6 级

H 指数

题目和题解难度
274. H 指数 题解5 级
275. H 指数 II 题解5 级

从一个范围内选择最多整数

题目和题解难度
2554. 从一个范围内选择最多整数 I 题解3 级
🔒2557. 从一个范围内选择最多整数 II 题解6 级

寻找峰值

题目和题解难度
162. 寻找峰值 题解6 级
1901. 寻找峰值 II 题解7 级

只出现一次的数字

题目和题解难度
136. 只出现一次的数字 题解3 级
137. 只出现一次的数字 II 题解6 级
260. 只出现一次的数字 III 题解6 级

最大连续 1 的个数

题目和题解难度
485. 最大连续 1 的个数 题解3 级
🔒487. 最大连续 1 的个数 II 题解5 级
1004. 最大连续 1 的个数 III 题解5 级

指定不同字符数量上限的最长子串

题目和题解难度
🔒159. 至多包含两个不同字符的最长子串 题解5 级
🔒340. 至多包含 K 个不同字符的最长子串 题解5 级

子数组最大平均数

题目和题解难度
643. 子数组最大平均数 I 题解3 级
🔒644. 子数组最大平均数 II 题解8 级

删除有序数组中的重复项

题目和题解难度
26. 删除有序数组中的重复项 题解3 级
80. 删除有序数组中的重复项 II 题解4 级

反转字符串中的单词

题目和题解难度
151. 反转字符串中的单词 题解4 级
🔒186. 反转字符串中的单词 II 题解4 级
557. 反转字符串中的单词 III 题解3 级

最短单词距离

题目和题解难度
🔒243. 最短单词距离 题解3 级
🔒244. 最短单词距离 II 题解5 级
🔒245. 最短单词距离 III 题解4 级

两数之和

题目和题解难度
1. 两数之和 题解2 级
167. 两数之和 II - 输入有序数组 题解3 级
🔒170. 两数之和 III - 数据结构设计 题解4 级
653. 两数之和 IV - 输入二叉搜索树 题解3 级
🔒1099. 小于 K 的两数之和 题解2 级

接雨水

题目和题解难度
42. 接雨水 题解6 级
407. 接雨水 II 题解8 级

迷宫

题目和题解难度
🔒490. 迷宫 题解5 级
🔒505. 迷宫 II 题解7 级
🔒499. 迷宫 III 题解8 级

课程表

题目和题解难度
207. 课程表 题解4 级
210. 课程表 II 题解5 级
630. 课程表 III 题解8 级
1462. 课程表 IV 题解7 级

数独

题目和题解难度
36. 有效的数独 题解2 级
37. 解数独 题解7 级

单词搜索

题目和题解难度
79. 单词搜索 题解4 级
212. 单词搜索 II 题解7 级

国际象棋

题目和题解难度
1812. 判断国际象棋棋盘中一个格子的颜色 题解2 级
3274. 检查棋盘方格颜色是否相同 题解2 级
999. 可以被一步捕获的棋子数 题解2 级
1222. 可以攻击国王的皇后 题解3 级
2596. 检查骑士巡视方案 题解3 级
3001. 捕获黑皇后需要的最少移动次数 题解4 级
🔒2664. 巡逻的骑士 题解5 级
51. N 皇后 题解6 级
52. N 皇后 II 题解6 级
688. 骑士在棋盘上的概率 题解7 级
2056. 棋盘上有效移动组合的数目 题解8 级
3283. 吃掉所有兵需要的最多移动次数 题解9 级

Excel

题目和题解难度
2194. Excel 表中某个范围内的单元格 题解1 级
168. Excel 表列名称 题解4 级
171. Excel 表列序号 题解4 级
3484. 设计电子表格 题解4 级
🔒631. 设计 Excel 求和公式 题解9 级

最多能完成排序的块

题目和题解难度
769. 最多能完成排序的块 题解5 级
768. 最多能完成排序的块 II 题解7 级

任务调度器

题目和题解难度
621. 任务调度器 题解6 级
2365. 任务调度器 II 题解4 级

强密码检验器

题目和题解难度
420. 强密码检验器 题解10 级
2299. 强密码检验器 II 题解2 级

使数组中所有元素相等的最小操作数

题目和题解难度
1551. 使数组中所有元素相等的最小操作数 题解4 级
2541. 使数组中所有元素相等的最小操作数 II 题解4 级

验证回文串

题目和题解难度
125. 验证回文串 题解3 级
680. 验证回文串 II 题解3 级
🔒1216. 验证回文串 III 题解5 级
🔒2330. 验证回文串 IV 题解3 级

学生出勤记录

题目和题解难度
551. 学生出勤记录 I 题解2 级
552. 学生出勤记录 II 题解7 级

并行课程

题目和题解难度
🔒1136. 并行课程 题解5 级
1494. 并行课程 II 题解10 级
2050. 并行课程 III 题解7 级

压缩字符串

题目和题解难度
443. 压缩字符串 题解4 级
1531. 压缩字符串 II 题解10 级
3163. 压缩字符串 III 题解3 级

打家劫舍

题目和题解难度
198. 打家劫舍 题解3 级
213. 打家劫舍 II 题解4 级
337. 打家劫舍 III 题解6 级
2560. 打家劫舍 IV 题解5 级

买卖股票的最佳时机

题目和题解难度
121. 买卖股票的最佳时机 题解3 级
122. 买卖股票的最佳时机 II 题解3 级
123. 买卖股票的最佳时机 III 题解7 级
188. 买卖股票的最佳时机 IV 题解8 级
3573. 买卖股票的最佳时机 V 题解8 级
309. 买卖股票的最佳时机含冷冻期 题解5 级
714. 买卖股票的最佳时机含手续费 题解5 级
3652. 按策略买卖股票的最佳时机 题解4 级

删列造序

题目和题解难度
944. 删列造序 题解2 级
955. 删列造序 II 题解5 级
960. 删列造序 III 题解6 级

零钱兑换

题目和题解难度
322. 零钱兑换 题解4 级
518. 零钱兑换 II 题解5 级

不同路径

题目和题解难度
62. 不同路径 题解4 级
63. 不同路径 II 题解4 级
980. 不同路径 III 题解6 级

不同的二叉搜索树

题目和题解难度
96. 不同的二叉搜索树 题解4 级
95. 不同的二叉搜索树 II 题解5 级

解码方法

题目和题解难度
91. 解码方法 题解5 级
639. 解码方法 II 题解8 级

单词拆分

题目和题解难度
139. 单词拆分 题解5 级
140. 单词拆分 II 题解7 级

猜数字大小

题目和题解难度
374. 猜数字大小 题解2 级
375. 猜数字大小 II 题解6 级

最后一块石头的重量

题目和题解难度
1046. 最后一块石头的重量 题解3 级
1049. 最后一块石头的重量 II 题解7 级

分割回文串

题目和题解难度
131. 分割回文串 题解5 级
132. 分割回文串 II 题解6 级
1278. 分割回文串 III 题解8 级
1745. 分割回文串 IV 题解6 级

最多可以参加的会议数目

题目和题解难度
1353. 最多可以参加的会议数目 题解7 级
1751. 最多可以参加的会议数目 II 题解8 级

不同的子序列

题目和题解难度
115. 不同的子序列 题解7 级
940. 不同的子序列 II 题解8 级

鸡蛋掉落

题目和题解难度
1884. 鸡蛋掉落-两枚鸡蛋 题解7 级
887. 鸡蛋掉落 题解9 级

粉刷房子

题目和题解难度
🔒256. 粉刷房子 题解4 级
🔒265. 粉刷房子 II 题解4 级
1473. 粉刷房子 III 题解9 级
3429. 粉刷房子 IV 题解5 级

摘樱桃

题目和题解难度
741. 摘樱桃 题解9 级
1463. 摘樱桃 II 题解8 级

奇怪的打印机

题目和题解难度
664. 奇怪的打印机 题解8 级
1591. 奇怪的打印机 II 题解8 级

组合总和

题目和题解难度
39. 组合总和 题解4 级
40. 组合总和 II 题解5 级
216. 组合总和 III 题解4 级
377. 组合总和 IV 题解5 级

丑数

题目和题解难度
263. 丑数 题解1 级
264. 丑数 II 题解5 级
1201. 丑数 III 题解7 级
313. 超级丑数 题解6 级

跳跃游戏

题目和题解难度
55. 跳跃游戏 题解5 级
45. 跳跃游戏 II 题解6 级
1306. 跳跃游戏 III 题解4 级
1345. 跳跃游戏 IV 题解8 级
1340. 跳跃游戏 V 题解8 级
1696. 跳跃游戏 VI 题解7 级
1871. 跳跃游戏 VII 题解6 级
🔒2297. 跳跃游戏 VIII 题解7 级
3660. 跳跃游戏 IX 题解8 级

零数组变换

题目和题解难度
3355. 零数组变换 I 题解5 级
3356. 零数组变换 II 题解6 级
3362. 零数组变换 III 题解8 级
3489. 零数组变换 IV 题解6 级

数字计数

题目和题解难度
233. 数字 1 的个数 题解8 级
🔒1067. 范围内的数字计数 题解9 级

字典树实现

题目和题解难度
208. 实现 Trie(前缀树) 题解5 级
🔒1804. 实现 Trie(前缀树) II 题解6 级

冗余连接

题目和题解难度
684. 冗余连接 题解5 级
685. 冗余连接 II 题解8 级

尽量减少恶意软件的传播

题目和题解难度
924. 尽量减少恶意软件的传播 题解7 级
928. 尽量减少恶意软件的传播 II 题解8 级

句子相似性

题目和题解难度
🔒734. 句子相似性 题解3 级
🔒737. 句子相似性 II 题解6 级
1813. 句子相似性 III 题解5 级

加法

题目和题解难度
66. 加一 题解3 级
989. 数组形式的整数加法 题解3 级
415. 字符串相加 题解3 级
67. 二进制求和 题解3 级
1073. 负二进制数相加 题解7 级
2. 两数相加 题解3 级
445. 两数相加 II 题解4 级
🔒369. 给单链表加一 题解4 级

幂次计算

题目和题解难度
50. Pow(x, n) 题解5 级
372. 超级次方 题解5 级

整数进制转换

题目和题解难度
504. 七进制数 题解2 级
🔒660. 移除 9 题解6 级

基本计算器

题目和题解难度
150. 逆波兰表达式求值 题解4 级
224. 基本计算器 题解7 级
227. 基本计算器 II 题解7 级
🔒772. 基本计算器 III 题解8 级
770. 基本计算器 IV 题解10 级

灯泡开关

题目和题解难度
319. 灯泡开关 题解4 级
672. 灯泡开关 II 题解5 级

给小朋友们分糖果

题目和题解难度
2928. 给小朋友们分糖果 I 题解1 级
2929. 给小朋友们分糖果 II 题解5 级
🔒2927. 给小朋友们分糖果 III 题解9 级

函数

题目和题解难度
2469. 温度转换 题解1 级
977. 有序数组的平方 题解2 级
🔒360. 有序转化数组 题解2 级

石子游戏

题目和题解难度
877. 石子游戏 题解6 级
1140. 石子游戏 II 题解8 级
1406. 石子游戏 III 题解6 级
1510. 石子游戏 IV 题解5 级
1563. 石子游戏 V 题解8 级
1686. 石子游戏 VI 题解7 级
1690. 石子游戏 VII 题解6 级
1872. 石子游戏 VIII 题解8 级
2029. 石子游戏 IX 题解9 级

猫和老鼠

题目和题解难度
913. 猫和老鼠 题解9 级
1728. 猫和老鼠 II 题解10 级
评论 (66)