我算了下复杂度,发现暴力解法反而够用。我深呼吸了一下,决定从最可疑的地方查起。我在心里把这道题重新推了一遍,推完发现忘了刚记住的。幸好之前留了备份

刷了两百道题之后发现:模板我都知道,但题目它不按模板出。我发现自己居然没法反驳。我把这个位运算的技巧记了下来,虽然不知道什么时候用。果然现实比段子更精彩

面试时被问到的算法,工作里一次都没用过。我把它记在心里,没跟任何人说。我打开了题目下面的讨论区,发现大家都在同一个地方卡住。幸好之前留了备份

刷题的第 n 天,我依然会在边界上栽跟头。我把这个滑动窗口的收缩条件改对了,最长子串终于出了。这大概就是程序员的人生吧

这题我写了三种解法,性能最好的是最丑的那个。我默默打开了编辑器,准备一步步验证。我用整型溢出的教训换来了一次 runtime error。我把这条经验写进了团队 wiki

复习的时候翻到了两年前的错题,我发现我还是不会。我先确认了一遍前置条件,再动手。我打开了这题的评论区,发现了三种完全不同的解法。连茶水间都安静了

这道题的输入范围很关键,它决定了你能不能偷懒。我停了一下,然后继续手上的活。我在心里给这道题画了张状态转移图,图比代码长。我把它写进了组内的避坑文档第一章

刷了两百道题之后发现:模板我都知道,但题目它不按模板出。我抬起头看了看周围,大家都一样。我把时间复杂度重新算了一遍,果然是平方级的。同事说这波操作可以写进新人培训教材

算法题的难点往往在边界,而不在思路。我笑了笑,决定不解释。我在心里默默给这道题标了个「三刷」,虽然不会再刷。好在最后有惊无险

我把这题的思路讲给了同事,他听完说不如直接查表。我盯着屏幕沉默了十分钟。我把这个树的遍历改成了非递归的,面试时更好讲。从此我多了一条团队规约