🏠 总目录📚 本教程 00 · 怎么刷代码题 →
📑 本页目录(点开跳转)

00 · 怎么刷代码题

⏱ 6 分钟 | 先把“我看到题就空白”的问题关掉


🎯 一句话

代码题不是背答案:先把题目翻译成一个数据形状 + 一个变化动作 + 一个不变量,代码才会自己长出来。

🧭 这套题怎么读

每一题固定按五步讲:题目在问什么 → 先画什么 → 关键不变量 → 可运行代码 → 最容易错在哪里。

你现在想解决的事 从哪里开始
指针、链表一看就晕 01 链表
递归一写就炸 02 树
想学面试常用模板 03 栈队列与窗口 → 04 二分与排序
想练“怎么想出来” 05 动态规划 → 06 回溯与矩阵
想补零碎高频题 07 位运算与模拟 → 08 字符串

🗺️ 题目地图:先知道每类题在解决什么

类别 你真正要解决的问题 本板块代表题
链表 节点没有下标,怎样不丢路 反转、合并、环入口、倒数第 k 个
树 一层分成多条路,怎样把结果带回来 深度、层序、路径和、最近公共祖先
栈与队列 只能从一端拿时,怎样记住“最近” 两栈队列、min 栈、滑动窗口最大值
搜索与排序 不枚举全部,怎样砍掉不可能的半边 二分边界、旋转数组、最小 k 个数
动态规划 今天的最优,怎样由昨天的状态推出 连续子数组最大和、跳台阶、正则匹配
回溯 有分叉时,怎样试完一条再干净地回来 矩阵路径、机器人范围、排列
位运算与模拟 规则很机械,怎样逐步翻译而不漏边界 异或、加法、螺旋矩阵
字符串 输入很脏,怎样一格一格地吃进去 atoi、回文、翻转、字符流

🧪 每题只做一个小闭环

  1. 先用 3–6 个元素手画一次,不急着敲代码。
  2. 用一句话写下循环里“始终为真”的事;这就是不变量。
  3. 把代码复制运行,至少换一个边界输入:空、一个元素、重复、极值。
  4. 卡 10 分钟时先看“关键不变量”,不要直接滚到完整代码。

⭐ 刷题的完成标准不是 AC 过一次,而是第二天遮住代码后还能说出:指针/下标各代表谁、每轮为什么不会漏。


🔗 这一章连到哪里

去哪 为什么
Python 会咬你的地方 00 这里的代码全是 Python。⭐ 如果你被「改了 b 结果 a 也变了」「默认参数怎么记住上次的值」这类事咬过,那一套讲的就是它们
ML 基础 附录C · 手撕代码速查 ⭐ 另一类白板题:这里练的是链表/树/DP,那里是「用纯 numpy 写一个多头注意力」。算法岗两类都会被问
不靠数据的 AI 05 · 状态空间与搜索框架 这套题里的 BFS、DFS、回溯,在那一套里是同一个框架的不同实例:换的只是「下一个该展开谁」

🛑 可以停在这里

先记一句:题目换名字没关系;数据形状和不变量没换,解法就还在。


✅ 检查点

为什么不建议一上来就背模板?

👀 看答案

模板不知道该填哪个变量、什么时候停。先认出数据形状和不变量,模板才是省力工具,而不是另一段要背的文字。


⚡ 走神救援

继续: 01 · 链表:指针到底在保住什么

打卡记录保存在你的浏览器里,首页能看到总进度