109天刷完LeetCode面试经典150:题单节奏、高频考点与真实踩坑复盘

发布时间:2026/10/20 4:36:17

109天刷完LeetCode面试经典150:题单节奏、高频考点与真实踩坑复盘 坐在这张书桌前的时间算到今天刚好第109天。别人问起刷题这件事最容易被低估的门槛其实不是题目难度而是你还能不能在第100天的时候继续翻开同一份题单。我这个系列刷的很慢LeetCode面试经典150从数组的第一题开始一路磕磕绊绊走到现在期间改过计划、换过语言、也推翻过自己很多次“以为会了”的错觉。这篇文章想把这一路的题单认知、节奏安排、题型拆解和踩坑现场都整理一遍给正在刷或者准备刷这份题单的人一些参考。面试经典150的本质不是告诉你“150道题怎么解”而是替你划出了面试里最高频的算法考点边界。题单覆盖数组、链表、二叉树、图、回溯、动态规划、贪心、二分等十几个大类题目难度大致呈现出一个两头小中间大的分布简单题大约三成中等题占一半以上困难题是一小撮但往往压轴出现。如果你目标是三个月内系统过一遍并达到可面试水平这份题单的密度和方向都算得上精准。这篇文章适合三类人刚起步想选一份靠谱题单的、刷到一半被难度和遗忘反复折磨的以及刷完一遍但总觉得讲不清楚思路、面试担心翻车的。我会尽量把每个阶段遇到的具体问题都写出来不只是“我AC了”而是AC之前我在想什么、错在哪、后来怎么改的。1. 先看清“面试经典150”这本题单到底在考什么1.1 题单的整体结构与难度分布LeetCode面试经典150并不是150道随机题的堆叠它更像一位经验丰富的面试官帮你圈定好的高频题库。我第一次打开题单列表时第一反应是“这也太杂了”但真正按分类刷下去之后才意识到它的编排是刻意打散的目的是让每个专题都贴着真实面试的出题逻辑走。题单大体可以按考点密度分成几个梯队。数组、哈希表、双指针、滑动窗口、链表、二叉树这几类是绝对的主角加起来大概占了60道左右几乎每一场技术面试里都会至少碰到其中一类。矩阵、栈、队列、二分查找、堆、回溯、图论和并查集是中坚力量加起来约50道属于“中高频”区间不一定每场都考但大厂面试官很喜欢从里面挑一道作为第二题或第三题。最后是贪心、动态规划、多维DP和一些偏数学技巧的题目约30道上下难度梯度明显通常在难点题或加面环节出现。从难度占比看简单题大概40道出头中等题约80道困难题不到30道。这个比例透露的信息很明确面试经典150的目标不是让你去卷竞赛难度而是把业务开发里真正用得上、面试里问得最多的算法思维练扎实。我实测下来前面五十题刷起来会比较顺中间几十题开始出现“看题解会了、自己写又卡住”的体验到回溯和动态规划密集区时进度会肉眼可见地慢下来这太正常了几乎所有刷这份题单的人都会在同一个地方减速。1.2 为什么面试前刷它比刷几百道散题更高效刷题这件事最怕的不是题目难而是没有边界。今天刷一道股票买卖明天刷一道图论拓扑排序后天又来一道后缀表达式求值表面上看刷了很多实际上在面试官眼里你的算法知识树仍然是东一块西一块的状态。面试经典150的价值恰恰在于它给了你一个明确的范围和顺序感。我自己之前也走过刷散题的弯路今天觉得某道题有意思就刷一道明天再看每日推荐又来一道看起来每天都在做题可当我想检验自己到底掌握了哪些考点时却说不出个所以然。后来换到这份题单节奏立刻清晰了很多。它每个分类下都有足够数量的题目让你形成肌肉记忆比如双指针这个考点从两数之和类问题到容器盛水再到接雨水难度是平滑上升的概念复用度很高。当你在三天内连续做同一类考点的题目时那种“归纳总结”的感觉会自然涌现这在刷散题时很难体验到。另一个实际原因是从面试还原度来看这套题单里的题目类型与面试中常出现的真实原题重合率极高。不是说面试官会直接出原题而是这些题背后训练的思维方式——对子问题拆解、时间复杂度的取舍、边界条件的处理——正是面试中考察的核心能力。与其盲目追求刷题数量不如把这一百五十道真正吃透、能讲明白这是我刷到第109天最强烈的体会。1.3 什么人适合直接开刷这份题单面试经典150并不是零基础友好型题单但也不是非得刷完几百道题才能碰的进阶题库。以我的体感如果你已经能独立完成LeetCode上简单难度的数组或字符串题目对时间复杂度和空间复杂度有基本概念就可以直接开始。它比“按通过率热门的Top100”更适合系统打基础因为那个榜单是为了流量设计的而150这个题单是为了面试覆盖度设计的。但如果你是从零开始连“双指针”这个词都陌生我建议先花一到两周补一下基础数据结构概念知道栈、队列、链表、二叉树、哈希表这些结构的特点和增删改查复杂度再进入题单会顺利很多。另外如果你正处于备战面试的时间窗口里比如一个月后就要开始投递那至少要把数组、哈希、链表、二叉树、双指针这几块刷透动态规划和图论能做中等题即可。时间充裕的话则要完整过一轮并把错题进行二刷三刷这比追求“全部了解一点”靠谱得多。2. 从第1天到第109天一份可执行的刷题节奏方案2.1 先定计划109天到底该怎么分配面试经典150一共150题要在一百天出头的时间里刷完平均每天大约是1.4题看起来好像不难但实际上当题目步入了回溯、动态规划、困难级别的数组题时单题耗时可能从半小时直接飙到两小时以上。所以真正合理的计划不能按“150除以天数”来做而是按考点密度和难度分布分阶段推进。我把自己的109天大致分成了三个阶段。第一阶段是前30天主攻数组、哈希表、双指针、滑动窗口、字符串每天1至2题目标是把编程手感找回来第二阶段是中间40天推进到链表、二叉树、矩阵、栈与队列、二分查找、堆每天1到2题这里开始出现中等难度的树和链表题需要多花时间看题解和画递归过程图第三阶段是最后39天集中处理回溯、图论、贪心、动态规划和困难题这个阶段每日一题可能都吃力所以我会把一些关联度高的题目放在一起做比如连续两天做不同背景下的“子集类”回溯题形成对比记忆。这个计划有几个设计原则值得单独说。第一每天只设置一个“必须完成”的下限也就是至少写一道题并写完题解笔记如果状态好可以加码但不允许出现连续两天不碰代码的情况第二周末适当加量工作日保持稳定周末两天各安排2至3题用来追赶进度或者补之前落下的复盘第三每隔7天固定停下来复习本周错题这个环节的重要性被绝大多数人忽略但它恰恰是防止“刷了忘、忘了刷”的关键。2.2 分类交替与专题深挖怎么搭配我在刷题过程中踩过的一个坑是连续好几天只刷同一类题比如连着四天全在做动态规划到第五天看到“dp数组”几个字就条件反射地头疼而且因为思维模式太单一到后面几道题时大脑其实已经疲惫了很难再吸收新知识。后来我调整成“专题为主、穿插为辅”的策略每天的主任务仍然是当前专题的内容但会在中间穿插一至两道已经做过的其他分类的题目作为热身。举个例子假设这一周主攻二叉树。我会在周一做二叉树的前中后序遍历对比题周二先快速重写一道之前做过的双指针题找手感然后再做一道二叉树的层序遍历周三继续二叉树专题但温习一道哈希表题目周四做到二叉树最近公共祖先这类中等偏难题可能会花掉很长时间周五再做两题并记录对比。这种穿插不是浪费时间反而能让你在接收新专题知识的同时不给旧知识留出遗忘的空档。另外我强烈建议入门阶段每次只开一个专题不要上午刷树、晚上刷图、睡前又看两眼动态规划。深度学习需要注意力集中专题式推进能在短时间内让大脑形成对该类题型的整体认知框架。等到一轮150题刷完之后再按“薄弱点专题”进行第二轮穿插复习那时候你才有能力同时处理多个专题的交叉调度。2.3 随手记录的题解笔记比收藏好用一百倍刷题刷到第60天左右我发现了一个很残酷的事实LeetCode收藏夹里躺着的题解我当时觉得自己“完全看懂了”但过了三周再回来看跟看一道全新的题没有任何区别。从那时候开始我给自己定了规矩每道题必须用自己的话写一篇“四要素”笔记核心思路是什么、时间复杂度与空间复杂度是多少、写代码时最容易出错的地方在哪、如果面试官问优化我该怎么答。这个习惯直接把我二刷时的效率拉高了一倍不止。笔记怎么记也是有讲究的。我用的是一张简单的表格对于数组、双指针这类题重点记录指针的移动条件和循环不变量对于二叉树题目重点记录递归函数的含义、终止条件、以及每一层递归需要返回什么信息对于动态规划重点记录状态定义和状态转移方程的推导过程而不是把AC代码贴一遍。这样做的原因是面试时人不可能背下代码但思路框架是可以反复调用的而四要素笔记保存的正是这种框架化信息。关于工具我用的是最朴素的Markdown文件和本地文件夹同步你也可以用在线笔记。重点不是工具多高级而是笔记要有“对比感”。比如我做完动态规划里“打家劫舍”和“最长递增子序列”这两道题后笔记里会专门写一段两者状态定义的不同。等到回头复习时这种对比点比单独看十道题的代码都能加深记忆。3. 高频考点深度拆解从“看题懵”到“下笔准”3.1 数组与哈希最基础也最容易丢分数组和哈希是面试经典150的开篇大项题量占比不低难度跨度也最大。简单题里像“两数之和”这种级别核心考点是哈希表将查找从O(n)降为O(1)中等题则开始考验你对数组索引和边界条件的敏感度困难题则会让你在“原地修改”“时间O(n)、空间O(1)”这类约束下一步步缩小方案选择空间。以“除自身以外数组的乘积”为例很多人第一次看到要求不能用除法时都会卡住。这个题的核心思路是先从左到右累乘前缀积再从右到左累乘后缀积最后把两轮结果相乘。这比你写出一个可以AC的代码更重要的是理解“前缀信息”和“后缀信息”这种预处理思想因为它会被反复用到其他题里比如后续的滑动窗口最大值和动态规划前缀和相关的题。再比如“三数之和”它考察的就不只是哈希了而是排序加双指针的组合套路。这里有一个我亲身踩过并在笔记里高亮标记的坑循环去重时必须在找到一组解后再移动指针去重而不是在进入循环前直接跳过所有相同元素否则会漏掉组内重复但合法的解。每次面试复盘时这类边界和去重细节都是面试官区分你确实熟练还是只会默写代码的分水岭。3.2 双指针与滑动窗口面试官最爱跟你在代码里抠边界双指针和滑动窗口在面试中的出现频率高得吓人面试官很愿意考这两类因为它们的思路看起来很简单但边界条件极其容易写错。尤其是滑动窗口考验的是“什么条件下收缩窗口”和“在何时更新答案”这两个问题的理解是否透彻。举个例子LeetCode面试经典150里面的“无重复字符的最长子串”这道题核心是维护一个不含重复字符的窗口窗口右边每次都向前移动当遇到重复字符时把左指针跳到重复字符上一次出现位置的后一位。这里的关键细节是“跳到后一位”而不是“一步一步移动”如果没想清楚性能就会退化到接近暴力解法。面试时写出O(n)的时间复杂度并不难难的是向面试官解释清楚“为什么直接跳过后一位也是正确的”。滑动窗口的另一道经典题是“最小覆盖子串”除了窗口收缩逻辑之外还要求你用哈希表维护字符频次差并判断当前窗口是否满足覆盖条件。我做这道题时调试了很久最后发现问题是判断覆盖条件时用了遍历哈希表的方式导致整体复杂度变成了O(n*字符集大小)虽然还是能过但面试时很可能被追问。优化方向是维护一个计数器记录“窗口里还缺少多少个字母”这样判断就变成O(1)了。这一类细节你在自己单独刷题时不容易意识到建议在笔记里把“可优化点”单独作为一节重点写。3.3 链表与二叉树递归与迭代的反复横跳链表和二叉树是算法面试中绝对不能翻车的两个大类。链表题考的是指针操作和空间意识面试官最爱看着你画图二叉树题则几乎默认你能熟练写出递归并能在追问时转化为迭代写法。单说链表面试经典150里“反转链表”“环形链表”“链表排序”都是高频面孔。“反转链表”用迭代法时必须掌握“三指针翻转法”我给你说个实用技巧每次移动时在心里默念“先保存后继再翻转当前指向然后移动前驱和当前指针”这个流程能避免八成以上的空指针错误。很多人在纸上画图都会一旦写代码就漏了保存后继这一步因为人脑很容易把图上看起来理所当然的操作直接映射成代码而忽略了中间需要额外的引用变量。二叉树方面递归三步法几乎可以应对大部分题目即明确递归函数的语义是什么、找到递归的终止条件、写出当前层与子问题之间的组合关系。“二叉树的层序遍历”则是BFS的标准模板配合队列使用核心是要知道BFS模板有两个层次结构一个是节点层、一个是当前层的节点集合。我第一次写层序遍历时兴致勃勃写了个DFS先序变体结果发现根本没法把相同深度的节点自然归组后来老老实实套用BFS模板问题迎刃而解。递归思路学会后别偷懒至少要挑几道题练习改成栈迭代版本因为面试官一旦追问“你能不用递归写吗”现场临时想迭代版本通常会手忙脚乱。3.4 动态规划从“依葫芦画瓢”到“理解状态转移”动态规划是面试经典150里让最多人心理破防的大类这个现象太普遍了因为动态规划不像链表题那样能靠画图解决它的核心是抽象的状态定义和状态转移而这恰恰是文字和代码都不容易直观表达的东西。我自己的转折点发生在第80天左右当时已经连续刷了近十道动态规划题却仍然觉得每道题跟上一道没关系。后来我把刷题模式换成了对比归纳法每次做完一道新题先去笔记里对比之前已经做过的某道题讲讲它们的状态定义哪里像、哪里不像、转移方程怎么从“不选当前项”和“选当前项”两个分支推出来的。比如“打家劫舍”的状态定义是“前i间房能偷到的最大金额”转移方程是取“不偷第i间”和“偷第i间且加上前i-2间的结果”中的较大值“最长递增子序列”则用“以第i个元素结尾的最长递增子序列长度”作为状态转移时遍历所有在i前面的元素来找出能接上的最长序列。这两题看起来背景南辕北辙但都是典型的由子问题到原问题的递推结构对比着看一下子通透了很多。这里再分享一个实际经验动态规划题如果五分钟没思路我建议直接看题解不要死磕。看题解的过程并不是“作弊”而是学习一套状态定义范式的过程。关键是看完后要合上题解完整地重新推演一遍状态转移流程再独立手写代码。看得懂和写得出来完全是两回事后者才是面试需要的能力。这个规则同样适用于回溯题目。4. 第109天的真实复盘我中途踩过的坑和调整方案4.1 刷了忘、忘了刷怎么对抗遗忘曲线我刷到第40天左右最绝望的事情发生了前面认认真真刷过的滑动窗口题目回头再看时居然连代码里的窗口收缩条件都想不起来。那段时间我一度怀疑自己是不是不适合刷题。后来复盘时发现原因很简单我只是在“刷题”而放弃了“复习”大脑的遗忘速度远超想象一道题做完两周不碰知识点残留率大概只剩两成。此后我强制给自己加了两个机制。第一个是标签化复习每周末把所有本周做过的题按“完全会写、能讲清但写不快、完全想不起来”三类打标签下周一首先把第三类作为热身题重写一遍第二类每周随机抽两道保持手感第二个是“讲题复述”机制遇到想不起来的题先不看题解把之前自己写的四要素笔记打开尝试仅凭“核心思路”和“最易错点”这两节内容把完整代码复现出来这一步比单纯看代码效果大得多。如果你想长期保持状态直到面试结束这两个机制建议从第一天就启用。4.2 死磕一道题几小时到底值不值得刷题第60天前后我陷入过一种很微妙的状态一道中等题卡了快两个小时心里燃烧着一种“我不能靠题解我一定要自己想出来”的信念。现在回顾这种执念对于面试场景是帮倒忙的。面试考察的是你能否在有限时间内找到一个可行的方案并清晰表述它不要求你是首位提出解决方案的发明家。我给自己定的新规则是简单题15分钟没思路中等题30分钟没思路困难题45分钟没思路统一切换到“看题解模式”。看题解不是目的目的是快速理解一种新的解题范式然后合上题解自己重新实现一遍。这种“元学习”方式的效率远高于孤独的死磕。如果你实在做不到只看一眼题解就收回去也可以把题解拆成三段先看“核心思想”一段尝试自己补出后续再看“关键实现细节”一段最后对照完整代码。这样既保留了思维过程又避免了把看题解变成抄代码。4.3 会写但讲不清从AC代码到面试表达的训练刷到能稳定写出代码后我才发现另一个隐蔽的短板一道题我能AC但面试官根本听不懂我在讲什么。因为平时刷题只需要面对编辑器完全不涉及表达能力但面试是把思路讲给一个可能并不熟悉代码细节的人听这需要你用结构化语言组织思路链。我到现在还记得第一次尝试把“三数之和”讲给别人听时的窘迫我直接说“排序然后双指针收缩”被追问“为什么双指针一定正确”时就哑了。从第90天左右开始我强制自己每天抽一道做过的题用三分钟的时间把思路完整讲出来。流程是先说清楚题目的输入和输出再提出一个最简单的暴力法并分析复杂度接着从暴力法的冗余项中引出优化思路最后给代码和边界条件说明。这跟写代码是完全两种练习但它对面试的加成极大我后来甚至觉得“讲题训练”比多刷10道新题更有价值。如果你觉得自己表达能力偏弱一个可操作的练习是把你讲解的过程录下来回放时重点听自己在“前后逻辑衔接”的地方有没有跳步。面试中“沉默的空白”往往让面试官怀疑你是否真的理解了题目而“清晰的冗余说明”反而是加分项。不要嫌这个操作麻烦它比自我感觉良好可靠得多。4.4 进度焦虑怎么破面对困难题和低AC率的心态管理刷题到一个半月时我遇到过非常严重的一次进度滑坡一天只能完成一道题还常常是在看题解后照抄完成的。那时的每日计划表里连续好几天都是红色的未完成标记心态差到一打开题单就想关掉浏览器。后来我停下来断了一天重新审视自己的计划发现问题本质是我把“刷完150题”当成了最高目标却忘了“掌握能力”才是最终目标。方向一旦错每一天的完成率都会变成焦虑的燃料。我开始允许自己有“只做一道简单难度题”的日子只要完成了并留下一篇笔记就算合格。这个心理上的放松反而让刷题状态快速回升因为大脑在低压力状态下更容易进入心流。另一个小技巧是把目标从“每天完成x题”改成“每天只问自己一个问题今天我比昨天多彻底理解了哪一个算法概念”因为很多题目本身跨度很大强行用“题数”去衡量日进度非常失真不如用“概念理解数量”去衡量一天吃透一个状态转移套路比一天囫囵吞下两题有价值得多。现在我到了第109天很清楚一个道理刷题是一场持续数月的长跑进度表上偶尔的红色并不代表失败它只是提醒你该调整节奏了。5. 高频考点之外的进阶认知经典题背后藏着的能力模型5.1 为什么经典题反复出现还能区分候选人面试经典150里很多题面试官自己都解过几十上百遍为什么他们仍然乐此不疲地问因为同一道题可以被问到不同深度。一个只背过代码的人在面对“如果输入数组有几百万个元素你的方案还能跑吗”“内存受限怎么办”“我现在要你输出所有可行解而不是只输出一个怎么改”这类追问时会立刻露馅。这也解释了一个现象有些人刷了三遍经典150面试仍然挂不是题不够经典而是他一直在“重复已知解法”没有把题目背后通用的能力模型抽象出来。我觉得经典题背后有三个核心能力最值得刻意训练复杂度意识、边界条件构建能力、以及用例子驱动思考的能力。复杂度意识要求你在写代码之前先预估方案是否可行不要一上来就写出一个O(n^2)的算法还说“挺快的”边界条件能力则靠平时积累比如对空输入、单元素输入、数组越界、整数溢出这四类情况的敏感度用例子驱动思考则是在面对题目时先用一个小规模输入做一次手工推演把规律摸清了再写代码。5.2 从“套模板”到“组合思维”的跃迁刷题超过一百天后会慢慢发现很多所谓“新题”的本质是几个旧模板的组合。比如一道看似复杂的题目可能先用哈希表统计频次再借助单调栈找下一个更大元素最后套用动态规划求最优值。这种组合思维在短期内不容易建立需要前期的题量积累做支撑这也是为什么很多建议说刷题至少要坚持一百天以上才能看到质变因为质变的本质正是大量模板类知识点开始互相联通的时刻。我在面试经典150的后期做题过程中经常出现一种很奇妙的体验看到一道图论题突然联想到之前做过的一道并查集题然后又想到可以用BFS分层遍历的思想来处理最后得出结论用拓扑排序更合适。这种联想能力绝不是靠刷题量自然而来的它建立在“每题都做归类笔记”和“时常把不同专题做对比”这两个习惯的基础上。如果你想要加速这个过程建议每做完十道题专门留出半小时做一次“跨题总结”比如把所有“可以用双指针优化的题”列在一起找出它们的共同特征。5.3 代码风格和工程习惯面试里容易被忽略的隐性得分点刷题时很多人只关注算法正确性忽略了代码风格但面试官在有限时间内判断一个候选人是否“干净利落”时代码的可读性和命名规范占了很大权重。变量名起什么闭包内的引用如何处理是否需要提前return清除无效分支这些看起来跟算法无关的细节在你写完代码后的review环节会被放大。我自己在刷题时有过一次典型被面试官暗示“你这个代码有隐患”的经历。那道题我功能全过了面试官看着我的代码说“你的循环里这个临时变量如果在某次异常分支里没被赋值会不会用到上一次循环残留的值呢”那一刻我才意识到面试不只是算法考试还是对工程细节的抽查。从那以后我给自己定了两条代码规范第一所有临时变量在使用前都先初始化哪怕初始化为0或空对象第二所有分支尽量提前return减少深层嵌套让主逻辑保持扁平。这两个小习惯单独看微不足道但刷完整份150题后你会发现自己的代码自然变得清晰很多这也是经典题单训练的隐性价值。6. 常见问题速查表刷题路上高频卡点直接对表排查具体表现根因分析排查与对策建议一道中等题卡了两小时连暴力解都想不到对题目类型缺少“思维触发点”没识别出该用双指针或哈希等范式停止死磕按时间阈值切到题解模式先把范式记录下来次日重写代码逻辑看着对一提交就数组越界或空指针边界条件未覆盖空输入、单元素输入、索引在循环内被修改养成先处理边界再写主逻辑的习惯把输入为空、长度为1、指针相邻作为默认测试用例看题解完全能懂合上就写不出来处于被动理解状态代码未经过主动回忆与复现用“四要素笔记法”先写核心思路再写代码合上题解独立复现刷了后面忘前面进度焦虑严重缺少间隔复习机制把“完成”当成“掌握”每周末三类标签化复习每天只问“今天彻底理解了哪个概念”允许减速时间复杂度理论算得出来但提交稳稳超时实际代码实现与理论复杂度不一致可能存在隐式O(n^2)或高常数项检查循环嵌套、哈希表误用、字符串拼接方式、遍历整个集合去更新状态等常见优化点能AC但从没被面试官认可过只强调答案缺乏思路推导和复杂度分析展示按“暴力解法 - 暴露瓶颈 - 优化切入 - 复杂度分析”四步讲题每天练一道动态规划题目识别不出来状态定义能力不足没建立dp思想的问题识别模型连续一周只刷dp专题每道题必写状态定义和转移方程推导过程不跳步骤二叉树递归能写迭代遍历就迷茫对栈模拟递归的过程缺乏练习从“前序遍历”开始手画调用栈再把模板推广到中序和后序强制改成迭代实现刷完150题还是觉得面试可能翻车缺的不是题量而是对典型考点的深度表达挑高频考点各选3题做“讲题训练”把讲解录音回放修正按面试标准自查这条表其实是对我109天刷题过程中遇到的主要问题的一个压缩总结。你单独遇到其中某一条时可能不会有太大感觉但连续几周积累下来就会变成“刷不下去”的全面爆发所以我的建议是把这张表截图放在题单旁边出现对应症状时及时对症处理不要等问题大到想放弃的时候再回头找原因。还有一个很多人不知道的小经验如果你的LeetCode提交记录里写着“Time Limit Exceeded”先别急着去看题解试试把代码里的每一层循环都刻意加上注释说明它的“循环不变量”。这个动作极其神奇当你不得不把“这个循环在干什么”写出来时十个里面有七个能自己发现问题。因为代码能力弱的人写循环时往往心里只有一个模糊的意图写注释的过程会迫使他精确定义意图从而暴露出实现偏差。这个方法帮助我至少解决过十道以上的超时和越界问题算是刷题过程中的独门技巧。7. 关于这份题单最后想说的几句大实话如果让我把面试经典150这份题单用一个词评价我会说“值得刷透”。但“刷透”不是指每道题都能默写而是指当面试官给你一道题你能在五分钟内完成题型识别、思路提出、复杂度预估然后边写边解释地把代码完成。这种状态不是一蹴而就的也正是这个原因我觉得刷题计划里最核心的要素不是聪明而是长期主义。我在第109天的现在回看第一天最感激的不是自己做了多少题而是养成了一套可持续的刷题系统按专题推进、用笔记沉淀、靠讲题检验、以复习对抗遗忘。哪怕面试结束之后这套系统也完全可以平移去学习其他技术领域因为它本质上是个“输入-加工-输出-回顾”的闭环。Interview这件事本身会过去但把复杂问题拆解、用清晰的语言传达思路、在高压力下保持稳定输出这些能力是会一直带走的。这份题单刷完一遍之后如果时间还允许我最推荐的方向是转过头来把困难题专题化地再刷一轮尤其是几个经典困难模式接雨水、编辑距离、正则表达式匹配、股票买卖系列、矩形中的最大面积。这些题真正的价值不在难度本身而在于它们能把前面分散学到的基础范式拧成一股绳。我计划在150题全部AC之后专门写一篇这些“困难题串讲”的整理把每道题涉及两个以上范式的组合方式展开讲讲。如果你正走在刷这份题单的路上无论你是在第7天还是第67天我只想说一句话速度慢一点不可怕中途调整计划也不丢人真正重要的是每天保留一段纯粹思考的输入时间让写代码和写笔记成为习惯的一部分。到了第100天以后你会开始庆幸自己当初没有放弃。
延伸阅读

更多相关文章

2026/10/20 4:36:17

体育大模型如何重构网球自主训练:从数亿融资看AI运动硬件新赛道

看到这家AI运动硬件公司完成数亿B轮融资的消息时,我下意识翻了下手边那套落灰的网球装备。作为长期关注运动智能硬件的从业者,这两年见过太多打着AI旗号的产品:有的智能跳绳只能计个数,有的AI健身镜练了半天还是那套模板动作。而这…

2026/10/20 4:36:17

原生JS手写TodoMVC:从零实现到Vue对比,彻底搞懂数据驱动与DOM操作

最近有位刚学完前端三件套的朋友问我:“语法我都会了,跟着教程敲也敲得出来,可让我自己从一个空白文件写点东西,完全不知道第一行代码该落在哪里。”这个困惑我太熟悉了。教程里的代码是别人设计好的,跟着敲一遍只是输…

2026/10/20 4:36:17

网页正文提取实战指南:从正则到Readability的完整路线

不管你是做调研、扒资料、写报告,还是给大模型喂语料,十有八九会撞上同一个需求:把网页上的正文干干净净地提取出来。复制粘贴吧,页面上全是广告、导航、推荐位;用爬虫硬抓吧,返回的 HTML 里标签套标签&…

2026/10/20 7:01:31

CyberPunk赛题解剖:从Web安全基本功到2024春招面试通关指南

开篇先说结论:CyberPunk这个名字,别被它的赛博朋克气质骗了。霓虹灯、义体改造、巨型企业,这些只是出题人打包的糖衣,拆开之后里面还是Web安全那几板斧——身份认证、注入、文件上传、任意文件读取,偶尔再给你加一层代…

2026/10/20 7:01:31

从零手写操作系统:开发环境搭建与内核架构设计实战指南

1. 从裸机到内核:为什么开发环境与架构设计是操作系统的第一道坎很多人学操作系统,一上来就抱着《操作系统概念》啃,或者直接去读Linux源码,结果看了几百行汇编就放弃了。我当初也是这么过来的,后来才想明白一件事&…

2026/10/20 7:01:31

2026年景区文旅行业电话AI客服厂商推荐,文旅数字化转型热度上升

本文核心要点摘要本文围绕景区文旅行业电话AI客服的选型需求展开,梳理文旅数字化转型背景下热线服务的核心挑战,结合合力亿捷热线语音客服的产品能力与应用实践,从方言识别、话务承接、业务流程匹配、系统协同等维度提供选型参考,…

2026/10/20 7:01:31

FANUC机器人控制柜内部电缆连接全解析:从接线原理到故障排查

简介:基于实际FANUC机器人改造项目整理的实操型技术文档,面向维护、调试与电气改造工程师,系统总结控制柜内部电缆连接的关键步骤与注意事项。内容涵盖A型、B型柜与Mate柜的电源规格差异,底板固定线缆的拆装顺序,附加轴…

2026/10/20 6:56:30

零基础转行AI大模型:两个月从入门到实战的完整路线

过去的两年里,我身边至少有六个朋友问过我同一个问题:“现在转行学AI大模型,还来得及吗?”问这话的,有做运营的、有写代码写烦了的、也有完全零基础的行政岗。他们的焦虑出奇一致:怕学不会,怕学…

2026/10/19 18:06:35

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/20 1:05:37

单片机C运行时从启动到多任务:中断安全与共享资源冲突

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

GCC编译四步详解:预处理、编译、汇编、链接实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

FIW线是什么?FEP注塑线与普通氟塑料线的区别及应用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑