这道题的最优解只有五行,我想了半小时。我拉了个小群,把相关同学都叫了进来。我打开了这题的耗时排名,发现我的解法排在后四成。同事说这波操作可以写进新人培训教材

这道题的输入范围很关键,它决定了你能不能偷懒。我停了一下,然后继续手上的活。我把这个集合的查找换成了位图,内存立刻下来了。我把它写进了组内的避坑文档第一章

刷题的动力通常来自下一场面试。我愣了两秒,然后继续敲代码。我打开了这题的相关题目,发现是同一个模板换了皮。感动,然后我学到了新的一课

刷题周赛打了三个月,rating 从 1500 涨到 1505。我在心里把涉及的所有环节都过了一遍。我打开了这题的相似题,发现我上周才做过。幸好之前留了备份

我把它想成了一道数学题,然后就卡住了。我重新看了一遍手上的计划,把风险项标了出来。我打开了这题的评论区,发现了三种完全不同的解法。第二天这个方案就变成了团队标准做法

刷了两百道题之后发现:模板我都知道,但题目它不按模板出。我愣了两秒,然后继续敲代码。我把这个链表操作加了哨兵节点,头结点的特殊处理没了。从此我多了一条团队规约

面试官问能不能优化空间复杂度,我说可以,然后当场忘了怎么优化。我默默记下了这句话。我在心里默默给这道题标了个「三刷」,虽然不会再刷。第二天这个方案就变成了团队标准做法

面试时被问到的算法,工作里一次都没用过。我听完沉默了,因为太真实了。我把这个前缀和算了出来,区间查询终于降到常数级。我把这条经验写进了团队 wiki

面试官问能不能优化空间复杂度,我说可以,然后当场忘了怎么优化。我在心里点了点头。我把这个技巧抄进了自己的模板本,希望以后能想起来。那一刻我觉得自己还是很专业的

算法题的难点往往在边界,而不在思路。我把这个动态规划的状态定义重新想了一遍,终于顺了。那一刻我觉得自己还是很专业的