一位工程师在Medium上记录自己的算法训练日志,第75天时的思考比答案本身更值得看。
起点:为什么启动250天计划
![]()
Anshuman在年初给自己定了目标:连续250天刷数据结构与算法题。不是突击面试,而是系统性重建编程根基。
![]()
他选择这个周期的理由很具体——足够长到形成肌肉记忆,又足够短到保持紧迫感。250天约等于8个月,覆盖两个招聘季窗口。
第75天恰好是30%进度节点。多数人在这个位置要么放弃,要么机械重复。他选择停下来写复盘。
第1-30天:从混乱到框架
初期策略是"广撒网"。数组、链表、栈、队列、哈希表轮着来,每天2-3题,不卡时间。
Anshuman记录了一个关键发现:前两周错误率超过60%,但第三周突然降到40%以下。不是变聪明了,是开始识别模式。
「我开始看到题目背后的骨架,」他写道,「两数之和不是考哈希表,是考'用空间换时间'的决策时机。」
这个阶段他建立了自己的错题本分类法:按"错误类型"而非"题目类型"归档。思路错误、边界遗漏、语法陷阱、完全没思路——四类标签直接决定后续复习优先级。
第31-60天:递归与树结构的瓶颈期
进入递归和树结构后,进度明显放缓。Anshuman发现日均解题数从2.5题跌到1.5题,但单题研究时间翻倍。
他尝试了一种反直觉的方法:不看题解,先写伪代码描述自己的思维过程。写出来才发现,递归的难点从来不是代码,是"信任"——信任子问题已经解决。
「写伪代码逼我显式声明假设。原来我脑子里有那么多没说出口的'显然'。」
这个阶段他引入了三遍刷题法:第一遍独立做,第二遍隔天默写,第三遍一周后限时重做。第三遍的通过率成为真正的能力指标。
第61-75天:动态规划的恐惧与拆解
第75天的主题是动态规划。Anshuman坦承这是启动挑战时最畏惧的部分。
他的突破来自重新定义问题:不再问"这道题怎么解",而是问"这道题的子问题是什么"。状态定义、转移方程、初始化、遍历顺序——四个要素拆开来逐个验证。
「以前看到动态规划就逃,现在发现80%的题可以用'最后一步发生了什么'这个问句启动。」
他记录了一个具体案例:最长递增子序列。第一遍花了47分钟,看了题解;第二遍隔天重做,23分钟独立完成;第三遍限时15分钟,实际12分钟通过。
量化复盘:75天的数据画像
Anshuman贴出了自己的统计:
累计完成题目:187道(目标250天×2题/天=500道,当前进度37.4%)
实际日均:2.49题→1.87题→1.67题,呈递减趋势
但深度指标在上升:独立完成率从34%提升到67%;一次通过率在简单题达到82%,中等题41%,困难题12%。
他特别关注"重复题间隔天数"这个自创指标。第75天时,平均间隔从初期的3天延长到11天,说明记忆保持率在提升。
工具链的迭代
75天里,Anshuman换了三次工具组合。
![]()
第1-20天:LeetCode网页版+Notion表格。发现切换成本太高,每次记录要开三个标签页。
第21-50天:迁移到Obsidian,用本地Markdown+数据视图插件。自定义了刷题模板,自动统计难度分布和错误类型占比。
第51天至今:加入Anki卡片系统。不是记题目,是记"决策点"——什么信号提示用BFS而非DFS,什么条件下优先考虑滑动窗口。
「工具迭代本身也是学习。我花了3天写Obsidian脚本,但省了后续30天的统计时间。」
意外的副产品:面试准备的重新理解
Anshuman最初声明挑战目的不是面试,但第75天时他修正了这个说法。
「不是'不是为了面试',是'面试只是副产品'。」
他观察到一个现象:第60天后,看面经的角度变了。以前关注"这道题我做过吗",现在关注"这道题的变体我见过吗"。
更具体的收获是时间估算能力。他现在能在读题后30秒内判断:这道题我需要5分钟、15分钟还是"今天搞不定"。这个判断准确率约75%,直接决定是继续攻坚还是标记后跳过。
第75天的真实状态
Anshuman没有渲染成就感。他列出了当前的具体困境:
动态规划的四要素框架记住了,但复杂题目的状态定义仍需要提示;图论的基础遍历熟练,但最短路径算法的变种容易混淆;最棘手的是"看起来简单但实际有陷阱"的题——往往因为轻视而超时。
他的应对策略是引入"预演机制":正式写代码前,先用注释写出三个测试用例的预期结果。这个步骤平均增加3分钟准备时间,但减少了40%的调试时间。
「第75天不是里程碑,是检查点。我发现自己比想象中慢,但也比想象中扎实。」
剩余175天的调整计划
基于75天的数据,Anshuman做了三项策略调整:
第一,降低日均题量目标,从2题改为1.5题,但强制要求其中一题是"完全独立解决"而非"复习旧题"。
第二,引入"主题月"机制:每月集中突破一个算法领域,而非按LeetCode标签随机刷。第4个月是图论,第5个月是高级动态规划,第6个月是系统设计前置知识。
第三,建立输出强制机制:每30天必须写一篇技术博客,用费曼学习法检验理解深度。第75天的这篇复盘就是新规则的第一份产出。
这件事为什么值得关注
Anshuman的日志没有提供速成的承诺,但展示了一种可复制的自我训练框架。
他的方法核心不是"刷更多题",而是建立反馈闭环:做题→分类错误→设计针对性训练→验证改进效果。这个循环的迭代速度,比绝对题数更能预测长期进步。
对于25-40岁的技术从业者,这个案例的价值在于示范了"在职学习"的可操作性。没有脱产,没有昂贵课程,用工具组合和量化追踪把碎片时间系统化。
更重要的是第75天这个时间点的选择。多数人记录"成功故事",他记录的是"中途状态"——进度落后、方法迭代、自我怀疑与调整并存。这种真实感比完美叙事更有参考价值。
250天挑战还剩175天。Anshuman的下一步是图论主题月,以及第90天的第二次量化复盘。他的日志会继续更新,但已经证明的东西足够清晰:持续学习的瓶颈从来不是时间,是反馈系统的质量。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.