题解¶
366 题的 Python 题解,全部在站内直接阅读:每页都是「元信息 → 解题思路 → 完整源码」,思路来自题解文件本身的文档字符串。
366 / 366 通过官方样例366 题通过判题机(牛客 266+力扣 100)5 题登记为 PyPy3
牛客¶
笔试模板必刷¶
牛客「笔试模板必刷」题单,ACM 模式(读 stdin 写 stdout)。 共 147 题。
| 题号 | 标题 | 难度 | 讲解章节 | 状态 |
|---|---|---|---|---|
| BISHI1 | 【模板】序列操作 | 简单 | 列表、序列与数组、链表 | ✅ |
| BISHI2 | 【模板】栈的操作 | 简单 | 栈 | ✅ |
| BISHI3 | 【模板】队列操作 | 简单 | 标准库速查、队列与双端队列 | ✅ |
| BISHI4 | 【模板】集合操作 | 简单 | 集合、集合与多重集合 | ✅ |
| BISHI5 | 【模板】多重集合操作 | 简单 | 集合、集合与多重集合、平衡树与有序集合 | ✅ |
| BISHI6 | 【模板】整数优先队列 | 简单 | 标准库速查、面向对象、迭代器与生成器、优先队列与堆 | ✅ |
| BISHI7 | 字符串哈希 | 简单 | 字符串哈希 | ✅ |
| BISHI8 | 大整数哈希 | 简单 | 哈希表 | ✅ |
| BISHI9 | 田忌赛马 | 中等 | 排序、贪心、偏序集与 Dilworth 定理 | ✅ |
| BISHI10 | 小红的字符串修改 | 简单 | 模拟、字符串处理 | ✅ |
| BISHI11 | 变幻莫测 | 简单 | 模拟 | ✅ |
| BISHI12 | 元素方碑 | 中等 | 自定义排序、排序 | ✅ |
| BISHI13 | 九倍平方数 | 简单 | 模拟、数论基础 | ✅ |
| BISHI14 | 特殊的科学计数法 | 简单 | 数据类型与转换、浮点与科学计数法 | ✅ |
| BISHI15 | 小红的夹吃棋 | 简单 | 模拟、计算几何入门 | ✅ |
| BISHI16 | 计算一年中的第几天 | 入门 | 条件与循环、模拟 | ✅ |
| BISHI17 | 纸牌游戏 | 简单 | 模拟 | ✅ |
| BISHI18 | 多项式输出 | 简单 | 多项式 | ✅ |
| BISHI19 | 乒乓球 | 简单 | 条件与循环、模拟 | ✅ |
| BISHI20 | 回文日期 | 简单 | 模拟、回文 | ✅ |
| BISHI21 | 【模板】排序 | 入门 | 自定义排序、内置函数速查、复杂度与 Python 性能、排序 | ✅ |
| BISHI22 | 分数线划定 | 简单 | 自定义排序、排序 | ✅ |
| BISHI23 | 小红书推荐系统 | 简单 | 字典、自定义排序、哈希表 | ✅ |
| BISHI24 | 谐距下标对 | 入门 | 元组与序列通论、自定义排序、桶计数与离散化 | ✅ |
| BISHI25 | 最大 FST 距离 | 中等 | 自定义排序、排序 | ✅ |
| BISHI26 | 构造C的歪 | 入门 | 构造 | ✅ |
| BISHI27 | 构造数对 | 简单 | 构造 | ✅ |
| BISHI28 | 构造数独 | 简单 | 构造、精确覆盖与 Dancing Links | ✅ |
| BISHI29 | 小红的排列构造① | 简单 | 构造 | ✅ |
| BISHI30 | 二进制数1 | 简单 | 数据类型与转换、运算符与位运算、位运算 | ✅ |
| BISHI31 | 二进制不同位数 | 简单 | 数据类型与转换、运算符与位运算、位运算 | ✅ |
| BISHI32 | 被打乱的异或和 | 简单 | 运算符与位运算、位运算 | ✅ |
| BISHI33 | Poi 的新加法(Easy Version) | 简单 | 高精度与大整数 | ✅ |
| BISHI34 | 甜蜜的博弈 | 简单 | 博弈论 | ✅ |
| BISHI35 | 【模板】巴什博弈 | 中等 | 博弈论 | ✅ |
| BISHI36 | 【模板】扩展巴什博弈 | 较难 | 博弈论 | ✅ |
| BISHI37 | 数位差与数值和的构造 | 简单 | 构造 | ✅ |
| BISHI38 | 有向二分图构造 | 简单 | 构造、二分图 | ✅ |
| BISHI39 | 【模板】Pollard-Pho算法 | 中等 | 整除分块与数论进阶 | ✅ |
| BISHI40 | 数组取精 | 中等 | 整除分块与数论进阶 | ✅ |
| BISHI41 | 【模板】整除分块 | 中等 | 整除分块与数论进阶 | ✅ |
| BISHI42 | 余数求和 | 中等 | 整除分块与数论进阶 | ✅ |
| BISHI43 | 讨厌鬼进货 | 入门 | 贪心 | ✅ |
| BISHI44 | 灵异背包? | 简单 | 贪心、背包问题 | ✅ |
| BISHI45 | 小红的矩阵染色 | 简单 | 贪心 | ✅ |
| BISHI46 | 小红的魔法药剂 | 简单 | 贪心 | ✅ |
| BISHI47 | 交换到最大 | 简单 | 贪心 | ✅ |
| BISHI48 | 小红的整数配对 | 简单 | 贪心 | ✅ |
| BISHI49 | 小红闯关 | 中等 | 优先队列与堆、贪心 | ✅ |
| BISHI50 | [JSOI2007]建筑抢修 | 中等 | 优先队列与堆、贪心 | ✅ |
| BISHI51 | 低买高卖 | 中等 | 优先队列与堆、贪心 | ✅ |
| BISHI52 | 奥赛组队 | 中等 | 贪心 | ✅ |
| BISHI53 | [P1080] 国王游戏(简化版) | 中等 | 贪心 | ✅ |
| BISHI54 | 货物堆放 | 中等 | 贪心 | ✅ |
| BISHI55 | 判断质数 | 入门 | 内置函数速查、数论基础 | ✅ |
| BISHI56 | 分解质因数 | 简单 | 数论基础 | ✅ |
| BISHI57 | 最大公因数与最小公倍数 | 简单 | 运算符与位运算、数论基础 | ✅ |
| BISHI58 | 矩形游戏 | 简单 | 数论基础 | ✅ |
| BISHI59 | 阶乘末尾非零数字 | 中等 | 基础数学与递推 | ✅ |
| BISHI60 | 大水题 | 简单 | 基础数学与递推 | ✅ |
| BISHI61 | 小q的数列 | 简单 | 基础数学与递推 | ✅ |
| BISHI62 | 斐波那契数列 | 简单 | 基础数学与递推 | ✅ |
| BISHI63 | 计算阶乘 | 简单 | 内置函数速查、高精度与大整数、基础数学与递推 | ✅ |
| BISHI64 | 【模板】快速幂Ⅰ ‖ 整数 | 中等 | 倍增、快速幂与逆元 | ✅ |
| BISHI65 | 【模板】分数取模 | 中等 | 快速幂与逆元、同余方程组与离散对数 | ✅ |
| BISHI66 | 子数列求积 | 中等 | 组合数学 | ✅ |
| BISHI67 | 穿搭大挑战 | 简单 | 模拟、组合数学 | ✅ |
| BISHI68 | 刷题统计 | 简单 | 前缀和与差分 | ✅ |
| BISHI69 | [HNOI2008]越狱 | 简单 | 组合数学 | ✅ |
| BISHI70 | 【模板】组合数 | 中等 | 组合数学 | ✅ |
| BISHI71 | 人员分组问题 | 中等 | 组合数学 | ✅ |
| BISHI72 | 中位数之和 | 较难 | 基础数学与递推、CDQ 分治 | ✅ |
| BISHI73 | 【模板】欧拉函数Ⅰ ‖ 单个整数 | 中等 | 欧拉函数与欧拉降幂 | ✅ |
| BISHI74 | 【模板】非质模数下的乘法逆元 | 中等 | 快速幂与逆元、同余方程组与离散对数 | ✅ |
| BISHI75 | 【模板】欧拉降幂 | 中等 | 欧拉函数与欧拉降幂 | ✅ |
| BISHI76 | 迷宫寻路 | 简单 | DFS 深度优先搜索 | ✅ |
| BISHI77 | 数水坑 | 简单 | DFS 深度优先搜索 | ✅ |
| BISHI78 | 全排列 | 简单 | 函数、DFS 深度优先搜索 | ✅ |
| BISHI79 | 取数游戏 | 中等 | DFS 深度优先搜索、记忆化搜索与剪枝 | ✅ |
| BISHI80 | 走迷宫 | 简单 | BFS 广度优先搜索 | ✅ |
| BISHI81 | 剪纸游戏 | 简单 | BFS 广度优先搜索 | ✅ |
| BISHI82 | 没挡住洪水 | 简单 | BFS 广度优先搜索 | ✅ |
| BISHI83 | 迷宫问题 | 中等 | DFS 深度优先搜索、BFS 广度优先搜索 | ✅ |
| BISHI84 | 时津风的资源收集 | 中等 | BFS 广度优先搜索 | ✅ |
| BISHI85 | 【模板】整数域二分 | 简单 | 标准库速查、二分 | ✅ |
| BISHI86 | 圆覆盖 | 中等 | 二分、计算几何入门 | ✅ |
| BISHI87 | [CQOI2010]扑克牌 | 中等 | 二分 | ✅ |
| BISHI88 | 小苯的魔法染色 | 中等 | 二分 | ✅ |
| BISHI89 | 山峰数组计数 | 中等 | 二分 | ✅ |
| BISHI90 | 【模板】记忆化搜索 | 中等 | 记忆化搜索与剪枝 | ✅ |
| BISHI91 | 拼接木棍 | 中等 | 二分 | ✅ |
| BISHI92 | 【模板】前缀函数(kmp) | 中等 | 字符串匹配 KMP | ✅ |
| BISHI93 | 【模板】Trie 字典树 | 中等 | Trie 字典树 | ✅ |
| BISHI94 | 【模板】马拉车算法 | 中等 | 回文 | ✅ |
| BISHI95 | 【模板】链式前向星 | 简单 | 图的表示与遍历 | ✅ |
| BISHI96 | 先序遍历、中序遍历和后序遍历 | 简单 | 链表、树的基础与遍历 | ✅ |
| BISHI97 | 旺仔哥哥走迷宫 | 中等 | BFS 广度优先搜索 | ✅ |
| BISHI98 | 谍中谍中谍中谍中谍... | 中等 | 并查集、强连通分量 | ✅ |
| BISHI99 | 我朋友的朋友不是我的朋友 | 中等 | 哈希表、图的表示与遍历 | ✅ |
| BISHI100 | 二分图判定 | 中等 | 二分图 | ✅ |
| BISHI101 | 世界树上找米库 | 中等 | BFS 广度优先搜索 | ✅ |
| BISHI102 | 【模板】并查集 | 较难 | 并查集 | ✅ |
| BISHI103 | 【模板】有依赖的背包问题 | 中等 | 背包问题 | ✅ pypy3 |
| BISHI104 | 修复公路 | 中等 | 并查集、最小生成树 | ✅ |
| BISHI105 | 【模板】单源最短路Ⅰ ‖ 无权图 | 中等 | BFS 广度优先搜索、最短路 | ✅ |
| BISHI106 | 【模板】单源最短路Ⅲ ‖ 非负权图 | 较难 | 最短路 | ✅ |
| BISHI107 | 【模板】最小生成树 | 较难 | 最小生成树 | ✅ |
| BISHI108 | 最优乘车 | 简单 | 最短路、图论进阶:k 短路与关键路径 | ✅ |
| BISHI109 | 邮递员送信 | 中等 | 最短路、图论进阶:k 短路与关键路径 | ✅ |
| BISHI110 | 【模板】静态区间和(前缀和) | 简单 | 前缀和与差分 | ✅ |
| BISHI111 | 【模板】差分 | 简单 | 前缀和与差分 | ✅ |
| BISHI112 | 【模板】二维前缀和 | 中等 | 前缀和与差分 | ✅ |
| BISHI113 | 【模板】二维差分 | 中等 | 前缀和与差分 | ✅ |
| BISHI114 | 【模板】滑动窗口 | 简单 | 单调队列、双指针与滑动窗口 | ✅ |
| BISHI115 | 可匹配子段计数 | 简单 | 双指针与滑动窗口 | ✅ |
| BISHI116 | 【模板】双指针 | 中等 | 双指针与滑动窗口 | ✅ |
| BISHI117 | 小苯的IDE括号问题(easy) | 中等 | 栈、双指针与滑动窗口 | ✅ |
| BISHI118 | 相差不超过k的最多数 | 中等 | 桶计数与离散化、双指针与滑动窗口 | ✅ |
| BISHI119 | 小红的01子序列构造(easy) | 中等 | 双指针与滑动窗口 | ✅ |
| BISHI120 | ??? | 较难 | 双指针与滑动窗口 | ✅ |
| BISHI121 | 数列后缀极大位置统计 | 简单 | 单调栈、DP 优化 | ✅ |
| BISHI122 | 区间后缀极大位置计数 | 简单 | 单调栈 | ✅ |
| BISHI123 | 环形字符串跃迁 | 中等 | 字符串处理 | ✅ |
| BISHI124 | 【模板】最近公共祖先(LCA) | 中等 | 倍增、LCA 与树上路径、树链剖分 | ✅ |
| BISHI125 | 【模板】静态区间最值 | 中等 | ST 表、倍增 | ✅ |
| BISHI126 | 【模板】动态区间和Ⅱ ‖ 区间修改 + 区间查询 | 较难 | 线段树、树链剖分 | ✅ |
| BISHI127 | 区间根号与区间求和 | 中等 | 线段树 | ✅ |
| BISHI128 | 区间加乘与单点求值 | 中等 | 线段树 | ✅ pypy3 |
| BISHI129 | 区间增量与区间小于计数 | 中等 | 分块、平衡树与有序集合 | ✅ |
| BISHI130 | 区间取反与区间数一 | 中等 | 线段树 | ✅ pypy3 |
| BISHI131 | 数楼梯 | 简单 | 基础数学与递推、DP 入门 | ✅ |
| BISHI132 | 小红的地砖 | 简单 | DP 入门 | ✅ |
| BISHI133 | 最长不下降子序列 | 简单 | 线性 DP、偏序集与 Dilworth 定理 | ✅ |
| BISHI134 | 最大子段和 | 简单 | 线性 DP | ✅ |
| BISHI135 | 三角形取数(Hard Version) | 中等 | 线性 DP | ✅ |
| BISHI136 | 【模板】01背包 | 简单 | 背包问题 | ✅ |
| BISHI137 | 【模板】完全背包 | 中等 | 背包问题 | ✅ |
| BISHI138 | 【模板】多重背包 | 中等 | 背包问题 | ✅ pypy3 |
| BISHI139 | 【模板】二维费用背包 | 中等 | 背包问题 | ✅ |
| BISHI140 | 【模板】分组背包 | 较难 | 背包问题 | ✅ |
| BISHI141 | 来硬的 | 较难 | 背包问题 | ✅ |
| BISHI142 | 最大学分 | 较难 | 背包问题 | ✅ |
| BISHI143 | 没有上司的舞会 | 较难 | 树形 DP | ✅ |
| BISHI144 | 食物链计数 | 较难 | DAG 上的 DP | ✅ |
| BISHI145 | 石子合并 | 较难 | 区间 DP | ✅ |
| BISHI146 | 收集金币 | 中等 | 记忆化搜索与剪枝、DP 优化 | ✅ |
| BISHI147 | 旅行者的大逃脱 | 困难 | DP 优化 | ✅ pypy3 |
输入输出练习¶
牛客「输入输出练习」题单,ACM 模式,专练读入与输出格式。 共 18 题。
| 题号 | 标题 | 难度 | 讲解章节 | 状态 |
|---|---|---|---|---|
| PIO1 | 只有输出 | 入门 | 语法与执行模型、输入输出处理 | ✅ |
| PIO2 | 单组_A+B | 入门 | 输入输出处理 | ✅ |
| PIO3 | 多组_A+B_EOF形式 | 入门 | 模块、异常与文件、输入输出处理 | ✅ |
| PIO4 | 多组_A+B_T组形式 | 入门 | 输入输出处理 | ✅ |
| PIO5 | 多组_A+B_零尾模式 | 入门 | 输入输出处理 | ✅ |
| PIO6 | 单组_一维数组 | 入门 | 推导式、输入输出处理 | ✅ |
| PIO7 | 多组_一维数组_T组形式 | 入门 | 输入输出处理、复杂度与 Python 性能 | ✅ |
| PIO8 | 单组_二维数组 | 入门 | 推导式、输入输出处理 | ✅ |
| PIO9 | 多组_二维数组_T组形式 | 入门 | 输入输出处理、复杂度与 Python 性能 | ✅ |
| PIO10 | 单组_字符串 | 入门 | 字符串、输入输出处理 | ✅ |
| PIO11 | 多组_字符串_T组形式 | 入门 | 字符串、输入输出处理 | ✅ |
| PIO12 | 单组_二维字符数组 | 入门 | 字符串、输入输出处理 | ✅ |
| PIO13 | 多组_带空格的字符串_T组形式 | 入门 | 字符串、输入输出处理 | ✅ |
| PIO14 | 单组_保留小数位数 | 入门 | 输入输出处理、浮点与科学计数法 | ✅ |
| PIO15 | 单组_补充前导零 | 入门 | 输入输出处理 | ✅ |
| PIO16 | 单组_spj判断YES与NO | 入门 | 输入输出处理 | ✅ |
| PIO17 | 单组_spj判断浮点误差 | 入门 | 输入输出处理、浮点与科学计数法 | ✅ |
| PIO18 | 单组_spj判断数组之和 | 入门 | 输入输出处理 | ✅ |
面试必刷TOP101¶
牛客「面试必刷 TOP101」题单,核心代码模式(实现指定函数,不读 stdin)。 共 101 题。
| 题号 | 标题 | 难度 | 讲解章节 | 状态 |
|---|---|---|---|---|
| BM1 | 反转链表 | 简单 | 链表 | ✅ |
| BM2 | 链表内指定区间反转 | 中等 | 链表 | ✅ |
| BM3 | 链表中的节点每k个一组翻转 | 中等 | 链表 | ✅ |
| BM4 | 合并两个排序的链表 | 简单 | 链表 | ✅ |
| BM5 | 合并k个已排序的链表 | 较难 | 分治的三步框架 | ✅ |
| BM6 | 判断链表中是否有环 | 简单 | 链表 | ✅ |
| BM7 | 链表中环的入口结点 | 中等 | 链表 | ✅ |
| BM8 | 链表中倒数最后k个结点 | 简单 | 链表 | ✅ |
| BM9 | 删除链表的倒数第n个节点 | 中等 | 链表 | ✅ |
| BM10 | 两个链表的第一个公共结点 | 简单 | 链表 | ✅ |
| BM11 | 链表相加(二) | 中等 | 链表 | ✅ |
| BM12 | 单链表的排序 | 中等 | 分治的三步框架 | ✅ |
| BM13 | 判断一个链表是否为回文结构 | 简单 | 链表 | ✅ |
| BM14 | 链表的奇偶重排 | 中等 | 链表 | ✅ |
| BM15 | 删除有序链表中重复的元素-I | 简单 | 链表 | ✅ |
| BM16 | 删除有序链表中重复的元素-II | 中等 | 链表 | ✅ |
| BM17 | 二分查找-I | 简单 | 二分 | ✅ |
| BM18 | 二维数组中的查找 | 中等 | 二分 | ✅ |
| BM19 | 寻找峰值 | 中等 | 二分 | ✅ |
| BM20 | 数组中的逆序对 | 中等 | 分治的三步框架 | ✅ |
| BM21 | 旋转数组的最小数字 | 简单 | 二分 | ✅ |
| BM22 | 比较版本号 | 中等 | 字符串处理 | ✅ |
| BM23 | 二叉树的前序遍历 | 简单 | 树的基础与遍历 | ✅ |
| BM24 | 二叉树的中序遍历 | 中等 | 树的基础与遍历 | ✅ |
| BM25 | 二叉树的后序遍历 | 简单 | 树的基础与遍历 | ✅ |
| BM26 | 求二叉树的层序遍历 | 中等 | 树的基础与遍历 | ✅ |
| BM27 | 按之字形顺序打印二叉树 | 中等 | 树的基础与遍历 | ✅ |
| BM28 | 二叉树的最大深度 | 简单 | 树的基础与遍历 | ✅ |
| BM29 | 二叉树中和为某一值的路径(一) | 简单 | 树的基础与遍历 | ✅ |
| BM30 | 二叉搜索树与双向链表 | 中等 | 树的基础与遍历 | ✅ |
| BM31 | 对称的二叉树 | 简单 | 树的基础与遍历 | ✅ |
| BM32 | 合并二叉树 | 简单 | 树的基础与遍历 | ✅ |
| BM33 | 二叉树的镜像 | 简单 | 树的基础与遍历 | ✅ |
| BM34 | 判断是不是二叉搜索树 | 中等 | 树的基础与遍历 | ✅ |
| BM35 | 判断是不是完全二叉树 | 中等 | 树的基础与遍历 | ✅ |
| BM36 | 判断是不是平衡二叉树 | 简单 | 树的基础与遍历 | ✅ |
| BM37 | 二叉搜索树的最近公共祖先 | 简单 | LCA 与树上路径 | ✅ |
| BM38 | 在二叉树中找到两个节点的最近公共祖先 | 中等 | LCA 与树上路径 | ✅ |
| BM39 | 序列化二叉树 | 较难 | 树的基础与遍历 | ✅ |
| BM40 | 重建二叉树 | 中等 | 树的基础与遍历 | ✅ |
| BM41 | 输出二叉树的右视图 | 中等 | 树的基础与遍历 | ✅ |
| BM42 | 用两个栈实现队列 | 简单 | 栈 | ✅ |
| BM43 | 包含min函数的栈 | 简单 | 栈 | ✅ |
| BM44 | 有效括号序列 | 简单 | 栈 | ✅ |
| BM45 | 滑动窗口的最大值 | 较难 | 单调队列 | ✅ |
| BM46 | 最小的K个数 | 中等 | 优先队列与堆 | ✅ |
| BM47 | 寻找第K大 | 中等 | 分治的三步框架 | ✅ |
| BM48 | 数据流中的中位数 | 中等 | 优先队列与堆 | ✅ |
| BM49 | 表达式求值 | 中等 | 栈 | ✅ |
| BM50 | 两数之和 | 简单 | 哈希表 | ✅ |
| BM51 | 数组中出现次数超过一半的数字 | 简单 | 哈希表 | ✅ |
| BM52 | 数组中只出现一次的两个数字 | 中等 | 位运算 | ✅ |
| BM53 | 缺失的第一个正整数 | 中等 | 哈希表 | ✅ |
| BM54 | 三数之和 | 中等 | 双指针与滑动窗口 | ✅ |
| BM55 | 没有重复项数字的全排列 | 中等 | DFS 深度优先搜索 | ✅ |
| BM56 | 有重复项数字的全排列 | 中等 | DFS 深度优先搜索 | ✅ |
| BM57 | 岛屿数量 | 中等 | BFS 广度优先搜索 | ✅ |
| BM58 | 字符串的排列 | 中等 | DFS 深度优先搜索 | ✅ |
| BM59 | N皇后问题 | 较难 | DFS 深度优先搜索 | ✅ |
| BM60 | 括号生成 | 中等 | DFS 深度优先搜索 | ✅ |
| BM61 | 矩阵最长递增路径 | 中等 | 记忆化搜索与剪枝 | ✅ |
| BM62 | 斐波那契数列 | 入门 | DP 入门 | ✅ |
| BM63 | 跳台阶 | 简单 | DP 入门 | ✅ |
| BM64 | 最小花费爬楼梯 | 简单 | DP 入门 | ✅ |
| BM65 | 最长公共子序列(二) | 中等 | 线性 DP | ✅ |
| BM66 | 最长公共子串 | 中等 | 线性 DP | ✅ |
| BM67 | 不同路径的数目(一) | 简单 | 线性 DP | ✅ |
| BM68 | 矩阵的最小路径和 | 中等 | 线性 DP | ✅ |
| BM69 | 把数字翻译成字符串 | 中等 | 线性 DP | ✅ |
| BM70 | 兑换零钱(一) | 中等 | 背包问题 | ✅ |
| BM71 | 最长上升子序列(一) | 中等 | 线性 DP | ✅ |
| BM72 | 连续子数组的最大和 | 简单 | 线性 DP | ✅ |
| BM73 | 最长回文子串 | 中等 | 回文 | ✅ |
| BM74 | 数字字符串转化成IP地址 | 中等 | 字符串处理 | ✅ |
| BM75 | 编辑距离(一) | 较难 | 线性 DP | ✅ |
| BM76 | 正则表达式匹配 | 较难 | 线性 DP | ✅ |
| BM77 | 最长的括号子串 | 较难 | 栈 | ✅ |
| BM78 | 打家劫舍(一) | 中等 | 线性 DP | ✅ |
| BM79 | 打家劫舍(二) | 中等 | 线性 DP | ✅ |
| BM80 | 买卖股票的最好时机(一) | 简单 | 线性 DP | ✅ |
| BM81 | 买卖股票的最好时机(二) | 中等 | 线性 DP | ✅ |
| BM82 | 买卖股票的最好时机(三) | 较难 | 线性 DP | ✅ |
| BM83 | 字符串变形 | 简单 | 字符串处理 | ✅ |
| BM84 | 最长公共前缀 | 简单 | 字符串处理 | ✅ |
| BM85 | 验证IP地址 | 中等 | 字符串处理 | ✅ |
| BM86 | 大数加法 | 中等 | 高精度与大整数 | ✅ |
| BM87 | 合并两个有序的数组 | 简单 | 双指针与滑动窗口 | ✅ |
| BM88 | 判断是否为回文字符串 | 入门 | 字符串处理 | ✅ |
| BM89 | 合并区间 | 中等 | 排序 | ✅ |
| BM90 | 最小覆盖子串 | 较难 | 双指针与滑动窗口 | ✅ |
| BM91 | 反转字符串 | 入门 | 字符串处理 | ✅ |
| BM92 | 最长无重复子数组 | 中等 | 双指针与滑动窗口 | ✅ |
| BM93 | 盛水最多的容器 | 中等 | 双指针与滑动窗口 | ✅ |
| BM94 | 接雨水问题 | 较难 | 单调栈 | ✅ |
| BM95 | 分糖果问题 | 较难 | 贪心 | ✅ |
| BM96 | 主持人调度(二) | 中等 | 贪心 | ✅ |
| BM97 | 旋转数组 | 中等 | 序列与数组 | ✅ |
| BM98 | 螺旋矩阵 | 简单 | 模拟 | ✅ |
| BM99 | 顺时针旋转矩阵 | 中等 | 模拟 | ✅ |
| BM100 | 设计LRU缓存结构 | 较难 | 链表 | ✅ |
| BM101 | 设计LFU缓存结构 | 较难 | 哈希表 | ✅ |
力扣¶
热题 100¶
力扣「热题 100」学习计划,核心代码模式,官方自带 17 个专题分组。 共 100 题。
| 题号 | 标题 | 专题 | 难度 | 讲解章节 | 状态 |
|---|---|---|---|---|---|
| LC1 | 两数之和 | 哈希 | 简单 | — | ✅ |
| LC2 | 两数相加 | 链表 | 中等 | — | ✅ |
| LC3 | 无重复字符的最长子串 | 滑动窗口 | 中等 | — | ✅ |
| LC4 | 寻找两个正序数组的中位数 | 二分查找 | 困难 | — | ✅ |
| LC5 | 最长回文子串 | 多维动态规划 | 中等 | — | ✅ |
| LC11 | 盛最多水的容器 | 双指针 | 中等 | — | ✅ |
| LC15 | 三数之和 | 双指针 | 中等 | — | ✅ |
| LC17 | 电话号码的字母组合 | 回溯 | 中等 | — | ✅ |
| LC19 | 删除链表的倒数第 N 个结点 | 链表 | 中等 | — | ✅ |
| LC20 | 有效的括号 | 栈 | 简单 | — | ✅ |
| LC21 | 合并两个有序链表 | 链表 | 简单 | — | ✅ |
| LC22 | 括号生成 | 回溯 | 中等 | — | ✅ |
| LC23 | 合并 K 个升序链表 | 链表 | 困难 | — | ✅ |
| LC24 | 两两交换链表中的节点 | 链表 | 中等 | — | ✅ |
| LC25 | K 个一组翻转链表 | 链表 | 困难 | — | ✅ |
| LC31 | 下一个排列 | 技巧 | 中等 | — | ✅ |
| LC32 | 最长有效括号 | 动态规划 | 困难 | — | ✅ |
| LC33 | 搜索旋转排序数组 | 二分查找 | 中等 | — | ✅ |
| LC34 | 在排序数组中查找元素的第一个和最后一个位置 | 二分查找 | 中等 | — | ✅ |
| LC35 | 搜索插入位置 | 二分查找 | 简单 | — | ✅ |
| LC39 | 组合总和 | 回溯 | 中等 | — | ✅ |
| LC41 | 缺失的第一个正数 | 普通数组 | 困难 | — | ✅ |
| LC42 | 接雨水 | 双指针 | 困难 | — | ✅ |
| LC45 | 跳跃游戏 II | 贪心算法 | 中等 | — | ✅ |
| LC46 | 全排列 | 回溯 | 中等 | — | ✅ |
| LC48 | 旋转图像 | 矩阵 | 中等 | — | ✅ |
| LC49 | 字母异位词分组 | 哈希 | 中等 | — | ✅ |
| LC51 | N 皇后 | 回溯 | 困难 | — | ✅ |
| LC53 | 最大子数组和 | 普通数组 | 中等 | — | ✅ |
| LC54 | 螺旋矩阵 | 矩阵 | 中等 | — | ✅ |
| LC55 | 跳跃游戏 | 贪心算法 | 中等 | — | ✅ |
| LC56 | 合并区间 | 普通数组 | 中等 | — | ✅ |
| LC62 | 不同路径 | 多维动态规划 | 中等 | — | ✅ |
| LC64 | 最小路径和 | 多维动态规划 | 中等 | — | ✅ |
| LC70 | 爬楼梯 | 动态规划 | 简单 | — | ✅ |
| LC72 | 编辑距离 | 多维动态规划 | 中等 | — | ✅ |
| LC73 | 矩阵置零 | 矩阵 | 中等 | — | ✅ |
| LC74 | 搜索二维矩阵 | 二分查找 | 中等 | — | ✅ |
| LC75 | 颜色分类 | 技巧 | 中等 | — | ✅ |
| LC76 | 最小覆盖子串 | 子串 | 困难 | — | ✅ |
| LC78 | 子集 | 回溯 | 中等 | — | ✅ |
| LC79 | 单词搜索 | 回溯 | 中等 | — | ✅ |
| LC84 | 柱状图中最大的矩形 | 栈 | 困难 | — | ✅ |
| LC94 | 二叉树的中序遍历 | 二叉树 | 简单 | — | ✅ |
| LC98 | 验证二叉搜索树 | 二叉树 | 中等 | — | ✅ |
| LC101 | 对称二叉树 | 二叉树 | 简单 | — | ✅ |
| LC102 | 二叉树的层序遍历 | 二叉树 | 中等 | — | ✅ |
| LC104 | 二叉树的最大深度 | 二叉树 | 简单 | — | ✅ |
| LC105 | 从前序与中序遍历序列构造二叉树 | 二叉树 | 中等 | — | ✅ |
| LC108 | 将有序数组转换为二叉搜索树 | 二叉树 | 简单 | — | ✅ |
| LC114 | 二叉树展开为链表 | 二叉树 | 中等 | — | ✅ |
| LC118 | 杨辉三角 | 动态规划 | 简单 | — | ✅ |
| LC121 | 买卖股票的最佳时机 | 贪心算法 | 简单 | — | ✅ |
| LC124 | 二叉树中的最大路径和 | 二叉树 | 困难 | — | ✅ |
| LC128 | 最长连续序列 | 哈希 | 中等 | — | ✅ |
| LC131 | 分割回文串 | 回溯 | 中等 | — | ✅ |
| LC136 | 只出现一次的数字 | 技巧 | 简单 | — | ✅ |
| LC138 | 随机链表的复制 | 链表 | 中等 | — | ✅ |
| LC139 | 单词拆分 | 动态规划 | 中等 | — | ✅ |
| LC141 | 环形链表 | 链表 | 简单 | — | ✅ |
| LC142 | 环形链表 II | 链表 | 中等 | — | ✅ |
| LC146 | LRU 缓存 | 链表 | 中等 | — | ✅ |
| LC148 | 排序链表 | 链表 | 中等 | — | ✅ |
| LC152 | 乘积最大子数组 | 动态规划 | 中等 | — | ✅ |
| LC153 | 寻找旋转排序数组中的最小值 | 二分查找 | 中等 | — | ✅ |
| LC155 | 最小栈 | 栈 | 中等 | — | ✅ |
| LC160 | 相交链表 | 链表 | 简单 | — | ✅ |
| LC169 | 多数元素 | 技巧 | 简单 | — | ✅ |
| LC189 | 轮转数组 | 普通数组 | 中等 | — | ✅ |
| LC198 | 打家劫舍 | 动态规划 | 中等 | — | ✅ |
| LC199 | 二叉树的右视图 | 二叉树 | 中等 | — | ✅ |
| LC200 | 岛屿数量 | 图论 | 中等 | — | ✅ |
| LC206 | 反转链表 | 链表 | 简单 | — | ✅ |
| LC207 | 课程表 | 图论 | 中等 | — | ✅ |
| LC208 | 实现 Trie (前缀树) | 图论 | 中等 | — | ✅ |
| LC215 | 数组中的第K个最大元素 | 堆 | 中等 | — | ✅ |
| LC226 | 翻转二叉树 | 二叉树 | 简单 | — | ✅ |
| LC230 | 二叉搜索树中第 K 小的元素 | 二叉树 | 中等 | — | ✅ |
| LC234 | 回文链表 | 链表 | 简单 | — | ✅ |
| LC236 | 二叉树的最近公共祖先 | 二叉树 | 中等 | — | ✅ |
| LC238 | 除了自身以外数组的乘积 | 普通数组 | 中等 | — | ✅ |
| LC239 | 滑动窗口最大值 | 子串 | 困难 | — | ✅ |
| LC240 | 搜索二维矩阵 II | 矩阵 | 中等 | — | ✅ |
| LC279 | 完全平方数 | 动态规划 | 中等 | — | ✅ |
| LC283 | 移动零 | 双指针 | 简单 | — | ✅ |
| LC287 | 寻找重复数 | 技巧 | 中等 | — | ✅ |
| LC295 | 数据流的中位数 | 堆 | 困难 | — | ✅ |
| LC300 | 最长递增子序列 | 动态规划 | 中等 | — | ✅ |
| LC322 | 零钱兑换 | 动态规划 | 中等 | — | ✅ |
| LC347 | 前 K 个高频元素 | 堆 | 中等 | — | ✅ |
| LC394 | 字符串解码 | 栈 | 中等 | — | ✅ |
| LC416 | 分割等和子集 | 动态规划 | 中等 | — | ✅ |
| LC437 | 路径总和 III | 二叉树 | 中等 | — | ✅ |
| LC438 | 找到字符串中所有字母异位词 | 滑动窗口 | 中等 | — | ✅ |
| LC543 | 二叉树的直径 | 二叉树 | 简单 | — | ✅ |
| LC560 | 和为 K 的子数组 | 子串 | 中等 | — | ✅ |
| LC739 | 每日温度 | 栈 | 中等 | — | ✅ |
| LC763 | 划分字母区间 | 贪心算法 | 中等 | — | ✅ |
| LC994 | 腐烂的橘子 | 图论 | 中等 | — | ✅ |
| LC1143 | 最长公共子序列 | 多维动态规划 | 中等 | — | ✅ |