作者将 LeetCode 刷题思路从孤立题目转向 15–18 种核心模式,用模式模板替代随机练习,避免遗忘已刷题目,形成可迁移的解题框架。
打开 NeetCode 150 + Blind 75 追踪器
大约在"随便刷 LeetCode 推荐题目"的第 40 题左右,我意识到自己面试水平并没有真正提升。我只是在更好地遗忘那些已经做过的题目。
Every time the pattern was the same: 周二做了一道困难的动态规划题,感觉自己像个天才,然后三周后遇到一道几乎一样的题却完全想不起来,因为我从来没有把它和底层的模式关联起来。我不是在建立 mental model,而是在收集一次性的胜利。
所以我围绕一个核心理念从头重建了我的准备方案: coding 面试中可能只有 15–18 个核心模式,其他一切都是变体。一旦这个观点想通了,我就不再把题目当作孤立的谜题,而是开始把它们当作我已经知道的模板的实例来看待。
这个认知转变最终变成了我想展示给你的这份资料。
The list: NeetCode 150 + Blind 75,按模式合并整理
大多数人的备考要么刷 NeetCode 150,要么刷原始的 Blind 75——很少两者兼顾,也几乎没有以一种能让你看清题目为什么被这样分组的格式来呈现。我把它们合并成一个追踪器,严格按模式组织,每个部分都有前置知识列表和一行"核心模式"速查表。
举几个实际应用的例子:
Arrays & Hashing——整个部分可以归结为一个问题:"我需要立即查找哪个补数、计数或分组?"一旦你内化了这个,Two Sum、Group Anagrams 和 Longest Consecutive Sequence 就不再是三道不同的题目,而变成了同一个哈希查找本能的三种应用。
Sliding Window——当约束被打破时向右扩展、向左收缩,用哈希表或计数器追踪状态。就这样。这就是 Longest Substring Without Repeating Characters、Minimum Window Substring 和 Sliding Window Maximum,只是难度不同。
Binary Search——当你看到有序或单调的搜索空间时,哪怕它看起来不像数组(想想 Koko Eating Bananas),模板都是一样的:lo、hi、mid、调整边界。
追踪器中的每个部分都遵循这个结构:前置知识 → 一句话概括底层模式 → 题目列表,按难度标记,⭐ 标记原始 Blind 75 中的题目,💡 标记那些在真实面试中频繁出现的题目。
它涵盖了所有 18 个部分——从 Arrays & Hashing 到 Math & Geometry——总共 150+ 道题目,带有复选框,这样你实际上可以追踪完成进度,而不是在十五个不同的浏览器标签页中丢失你的进度。
为什么我没有直接做成静态 PDF
我在 MarkVault 中构建和追踪这个列表,这是一个我为这类东西专门构建的 Markdown 工作空间——那种你会真正回过头来重温、而不是写一次就丢弃的长期演化的参考文档。
对我来说特别重要的原因:
持久化的复选框。我勾选一道题,合上笔记本电脑,一周后再回来——它仍然是勾选状态。听起来很 trivial,直到你在一个没有同步的 Notion 文档中丢失了进度。
没有注册墙来查看。你可以直接打开共享链接,在决定是否值得之前阅读完整内容。
底层只是 Markdown。没有专有格式,没有锁定。如果你想要自己的副本,复制文本就行了。
你可以在这里查看实时更新的追踪版本:
👉 打开 NeetCode 150 + Blind 75 追踪器
如果我是现在开始,我会怎么使用它
不要从顶部开始。从 Arrays & Hashing 和 Two Pointers 开始——它们几乎是所有其他部分的前置知识,包括一半的"高级"部分。
先做 💡 标记的题目,即使打乱顺序。它们被标记是因为它们在真实面试循环中出现的频率异常高,而不是因为它们最简单。
当你完成一个部分时,不要立即移动到下一个。回去重新阅读"核心模式"那一行。如果你无法不看书就口头解释它,你只是记住了解法而不是学会了模式——而且它不会迁移到下一个陌生的题目。
要回顾,而不仅仅是完成。复选框意味着你做了一次。它不意味着你能在面试压力下解决它的下一个变体。几周后回到这些部分,冷启动重新做两三道题。
最后一点就是我把它做成活的、可回顾的文档而不是一个我会填完一次就遗忘的清单的全部原因。没有回顾的面试准备不是真正的准备——它只是一个让你感觉良好地完成的待办清单。
如果你目前正处于面试准备的深入阶段,或者即将开始,去试试这个合并后的列表吧。它免费查看,不需要账号,而且这是我自己实际使用的版本——不是一个为互联网清理过的版本。
For further actions, you may consider blocking this person and/or reporting abuse