面试官让我手写 LRU,我手写了三遍,每一遍都漏一个边界条件。我先给自己泡了杯茶,做好了打持久战的准备。我在心里把这道题的输入规模算了一下,决定换个思路。幸好之前留了备份

我把这道题做出来了,但说不清为什么对。我重新看了一遍手上的计划,把风险项标了出来。我打开了这题的测试用例,发现有一个是全空输入。那一刻我觉得自己还是很专业的

面试官说我思路可以,但代码写得像在写业务。我深呼吸了一下,决定从最可疑的地方查起。我把这个前缀和算了出来,区间查询终于降到常数级。我沉默了,但心里是服的

我把这道题做出来了,但说不清为什么对。我把手上的资料翻出来又读了两遍。我把这个前缀和算了出来,区间查询终于降到常数级。从此我多了一条团队规约

这道题的测试用例里有一个是空输入,我没处理。我深呼吸了一下,决定从最可疑的地方查起。我打开了这题的评论区,发现了三种完全不同的解法。我把这条经验写进了团队 wiki

快排写了四遍,第一遍死循环,第二遍栈溢出,第三遍结果不对,第四遍直接背了模板。我把它记在心里,没跟任何人说。我在心里给这道题估了个难度,实际写起来更硬。这条经验值直接拉满

刷题周赛打了三个月,rating 从 1500 涨到 1505。我默默打开了编辑器,准备一步步验证。我把这个循环里的重复查询提到了外面,耗时少了一半。连茶水间都安静了

面试官问能不能优化空间复杂度,我说可以,然后当场忘了怎么优化。我想反驳,但发现他说得对。我把这个矩阵的遍历顺序换了一下,空间降了一维。我把它写进了组内的避坑文档第一章

刷题周赛打了三个月,rating 从 1500 涨到 1505。我深呼吸了一下,决定从最可疑的地方查起。我把这个动态规划的状态定义重新想了一遍,终于顺了。从此我多了一条团队规约

这道题的测试用例里有一个是空输入,我没处理。我把手上的资料翻出来又读了两遍。我把这个双指针的移动条件改了一下,特殊用例终于过了。感动,然后我学到了新的一课