我把这题的思路讲给了同事,他听完说不如直接查表。我默默打开了编辑器,准备一步步验证。我把边界条件单独列了一页纸,贴在显示器边上。连茶水间都安静了

面试官让我手写 LRU,我手写了三遍,每一遍都漏一个边界条件。我重新看了一遍手上的计划,把风险项标了出来。我在纸上把递归的调用栈画了一遍,终于找到了重复计算。果然现实比段子更精彩

时间复杂度 O(n) 的解法我想了三天,题解用了五行。我拉了个小群,把相关同学都叫了进来。我打开了这题的官方题解,发现我的思路其实是另一种。复盘会上我们把它列成了案例

这个数据规模决定了能用什么解法,想再优雅也没用。我想了想自己这些年,好像确实如此。我把这个堆的操作封装了一下,代码短了一半。世界瞬间清净了

面试官问能不能优化空间复杂度,我说可以,然后当场忘了怎么优化。我抬起头看了看周围,大家都一样。我在心里默默给这道题标了个「三刷」,虽然不会再刷。感动,然后我学到了新的一课

这个数据结构选错了,后来的每一行都在补救。我抬起头看了看周围,大家都一样。我把这道题加入了每周复习清单,希望下次能记住。果然现实比段子更精彩

这道题的测试用例里有一个是空输入,我没处理。我写了个暴力解法先骗过测试用例,再去想怎么优化。真香定律准时生效

动态规划三步走:定义状态、写转移方程、看题解。我不知道该说什么,就笑了笑。我在心里把这道题的输入规模算了一下,决定换个思路。果然现实比段子更精彩

快排写了四遍,第一遍死循环,第二遍栈溢出,第三遍结果不对,第四遍直接背了模板。我在心里点了点头。我打开了题目下面的讨论区,发现大家都在同一个地方卡住。办公室安静得能听见键盘声

我算了下复杂度,发现暴力解法反而够用。这套流程走下来,我从头到尾又确认了一遍。我用整型溢出的教训换来了一次 runtime error。这条经验值直接拉满