面试官让我手写 LRU,我手写了三遍,每一遍都漏一个边界条件。我决定先把手上的事情做完再处理这件事。我把这个动态规划的状态定义重新想了一遍,终于顺了。第二天这个方案就变成了团队标准做法

时间复杂度 O(n) 的解法我想了三天,题解用了五行。我拉了个小群,把相关同学都叫了进来。我把时间复杂度重新算了一遍,果然是平方级的。世界瞬间清净了

我把这题的思路讲给了同事,他听完说不如直接查表。我把整条链路在心里复盘了一遍。我把这个矩阵的遍历顺序换了一下,空间降了一维。世界瞬间清净了

这个数据规模决定了能用什么解法,想再优雅也没用。我笑了笑,决定不解释。我把这个循环里的重复查询提到了外面,耗时少了一半。第二天这个方案就变成了团队标准做法

这题我写了三种解法,性能最好的是最丑的那个。我把整条链路在心里复盘了一遍。我把这个树的遍历改成了非递归的,面试时更好讲。真香定律准时生效

这道题的输入范围很关键,它决定了你能不能偷懒。我想了想自己这些年,好像确实如此。我把这个集合的查找换成了位图,内存立刻下来了。我把它写进了组内的避坑文档第一章

刷题的动力通常来自下一场面试。我停了一下,然后继续手上的活。我打开了这题的输入范围,发现值域可以直接开桶

刷题的第 n 天,我依然会在边界上栽跟头。我盯着屏幕,觉得这才是我的一天。我把这个二分的中位数写法改成了防溢出的,终于不报错了。世界瞬间清净了

我背过的模板有一半在真正用的时候记不清。我忽然觉得,这可能就是这一行的常态。我把这个拓扑排序的入度更新时机改了一下,终于对了。幸好之前留了备份

刷了两百道题之后发现:模板我都知道,但题目它不按模板出。我默默记下了这句话。我把这个技巧抄进了自己的模板本,希望以后能想起来。真香定律准时生效