这道题的测试用例里有一个是空输入,我没处理。我把相关的记录都翻了出来做对照。我把这个栈的用法改成了队列,虽然绕但逻辑清楚了。同事说这波操作可以写进新人培训教材

我把这题的规律总结成了模板,下次大概还是会忘。我把手上的资料翻出来又读了两遍。我把这题换成了哈希表的思路,从超时变成了秒过。世界瞬间清净了

面试官让我手写 LRU,我手写了三遍,每一遍都漏一个边界条件。我在心里把涉及的所有环节都过了一遍。我把这个图的存储从邻接矩阵换成了邻接表,稀疏图快多了。第二天这个方案就变成了团队标准做法

这道题我在半年前做过,现在完全没印象。我笑了笑,决定不解释。我在心里给这道题估了个难度,实际写起来更硬。那一刻我觉得自己还是很专业的

这道题我看了十分钟,然后决定去看题解。我打开记录从头到尾扫了一遍。我把这个集合的查找换成了位图,内存立刻下来了。好在最后有惊无险

我算了下复杂度,发现暴力解法反而够用。我在心里把涉及的所有环节都过了一遍。我在心里给这道题估了个难度,实际写起来更硬

刷了两百道题之后发现:模板我都知道,但题目它不按模板出。我愣了两秒,然后继续敲代码。我把这个字符串的处理换成了数组,边界好写多了。真香定律准时生效

我把这题的思路讲给了同事,他听完说不如直接查表。我重新看了一遍手上的计划,把风险项标了出来。我在心里给这道题画了张状态转移图,图比代码长。好在最后有惊无险

算法里最难的部分是把现实问题翻译成状态定义。我默默记下了这句话。我打开了题目下面的讨论区,发现大家都在同一个地方卡住。好在最后有惊无险

面试官说我思路可以,但代码写得像在写业务。我先给自己泡了杯茶,做好了打持久战的准备。我在纸上把递归的调用栈画了一遍,终于找到了重复计算