多解法 · 手动推演 · 举一反三 — 用最清晰的方式讲透算法题
#
题目
难度
核心考点
解法
84
柱状图中最大的矩形
🔴 Hard
单调递增栈、左右边界
哨兵法 / 两次遍历
42
接雨水
🔴 Hard
单调递减栈、双指针
DP / 单调栈 / 双指针
关联阅读 :42 和 84 是单调栈的双生子——一个找更高的墙(储水),一个找更矮的柱子(边界)。
#
题目
难度
核心考点
解法
452
用最少数量的箭引爆气球
🟡 Medium
区间贪心、按右端点排序、重叠计数
贪心(按右端点)/ 贪心(按左端点+合并)
#
题目
难度
核心考点
解法
1143
最长公共子序列
🟡 Medium
二维 DP、序列匹配
DP / DP+栈回溯 / 滚动数组
152
乘积最大子数组
🟡 Medium
Kadane 变体、负负得正
暴力 / Kadane DP / 空间优化 / 双遍历
32
最长有效括号
🔴 Hard
括号匹配、三种思路
栈 / DP / 双指针
#
题目
难度
核心考点
解法
17
电话号码的字母组合
🟡 Medium
回溯、决策树、笛卡尔积
回溯 DFS / 迭代法
51/52
N 皇后
🔴 Hard
回溯模板、对角线剪枝
标准回溯 / 位运算优化
#
题目
难度
核心考点
解法
127
单词接龙
🔴 Hard
BFS、双向BFS、虚拟节点建图
单向BFS / 双向BFS
207/210
课程表
🟡 Medium
拓扑排序、环检测
Kahn(BFS) / DFS
#
题目
难度
核心考点
解法
92
翻转链表 II
🟡 Medium
头插法、分段反转、递归回溯
头插法 / 分段反转法 / 递归法
25
K 个一组翻转链表
🔴 Hard
分组反转、穿针引线、递归
迭代法 / 递归法
148
排序链表
🟡 Medium
归并排序、快慢指针找中点、分治
自顶向下递归 / 自底向上迭代
#
题目
难度
核心考点
解法
394
字符串解码
🟡 Medium
嵌套结构、栈保存上下文
双栈法 / 递归(DFS)
224
基本计算器
🔴 Hard
表达式求值、括号展开、sign 状态管理
单栈法 / 递归法 / 双栈法
#
题目
难度
核心考点
解法
6
Z 字形变换
🟡 Medium
周期公式、索引定位
暴力模拟 / 逐行追踪 / 数学公式
12
整数转罗马数字
🟡 Medium
贪心、映射表
贪心匹配 / 按位处理
13
罗马数字转整数
🟢 Easy
哈希表、相邻比较
一次遍历 / 从右到左
#
题目
难度
核心考点
解法
146
LRU 缓存
🟡 Medium
HashMap + 双向链表、哨兵节点、缓存淘汰
手动双向链表 / 内置有序字典
173
二叉搜索树迭代器
🟡 Medium
栈模拟递归、受控中序遍历、迭代器设计
栈 + 一路向左
#
题目
难度
核心考点
解法
530
二叉搜索树的最小绝对差
🟢 Easy
中序递增、prev 前驱、相邻差值
递归中序 / 迭代中序
#
题目
难度
核心考点
解法
49
字母异位词分组
🟡 Medium
哈希分组、签名函数、排序/计数
排序法 / 计数法 / 质数乘积法
205
同构字符串
🟢 Easy
双射映射、字符编码
双向哈希表 / 标准化编码 / 首次出现索引
290
单词规律
🟢 Easy
双射映射、字符→单词
双向哈希表 / 标准化编码 / 首次出现索引
#
题目
难度
核心考点
解法
76
最小覆盖子串
🔴 Hard
滑动窗口、哈希表计数、valid 计数器
暴力枚举 / 滑动窗口 / 优化滑动窗口
「表达式求值」—— 栈 + 括号嵌套 + 符号状态管理
「HashMap + 双向链表」—— O(1) 缓存淘汰
92. 翻转链表 II — 头插法(穿针引线),dummy 节点统一边界,prev/cur 不动旋转段内节点
25. K 个一组翻转链表 — 分组反转,每 k 个一组做"以 nextGroup 为边界的标准反转",用 prevGroup 串起各组
148. 排序链表 — 链表归并排序,快慢指针找中点断开 + 合并两个有序链表,自底向上迭代 O(1) 空间
指标
数值
总题数
24 道(含变体共 27 题)
🔴 Hard
8 道 (33%)
🟡 Medium
12 道 (50%)
🟢 Easy
4 道 (17%)
覆盖算法专题
17 大类(回溯、图论、DP、链表等)
代码语言
JavaScript + Python
LeetCode 刷题中,致力于用最清晰的方式讲透算法题。
每篇文章都追求:
✅ 多解法覆盖 — 从暴力到最优,思路层层递进
✅ 手动推演 — 每一步的状态变化都写清楚
✅ 举一反三 — 提炼通用思维框架,让你做一道题会一类题
说明 :本博客源码在 GitHub 上,欢迎 Star ⭐ 和 PR!