时间复杂度 O(n) 的解法我想了三天,题解用了五行。我先给自己泡了杯茶,做好了打持久战的准备。我最后背下了模板,虽然并不知道为什么对
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
我把这道题做出来了,但说不清为什么对。我在草稿纸上画满了数组下标和箭头,半小时后终于理清了边界。幸好之前留了备份
这道题的测试用例里有一个是空输入,我没处理。我把整条链路在心里复盘了一遍。我把这个前缀和算了出来,区间查询终于降到常数级。这大概就是程序员的人生吧
面试时被问到的算法,工作里一次都没用过。我愣了两秒,然后继续敲代码。我在心里给这道题配了个小故事,帮自己记住思路
快排写了四遍,第一遍死循环,第二遍栈溢出,第三遍结果不对,第四遍直接背了模板。我把这个字符串的处理换成了数组,边界好写多了。我把这条经验写进了团队 wiki
这道题我看了十分钟,然后决定去看题解。我打开记录从头到尾扫了一遍。我在心里给这道题画了张状态转移图,图比代码长。这条经验值直接拉满
刷题的第 n 天,我依然会在边界上栽跟头。我不知道该说什么,就笑了笑。我把这个栈的用法改成了队列,虽然绕但逻辑清楚了。这条经验值直接拉满
这个数据结构选错了,后来的每一行都在补救。我愣了两秒,然后继续敲代码。我把这个递归改成了迭代,栈溢出的风险没了。第二天这个方案就变成了团队标准做法
我算了下复杂度,发现暴力解法反而够用。我决定先把手上的事情做完再处理这件事。我把这个循环里的重复查询提到了外面,耗时少了一半
算法书上写着"显然可得",我盯着那行显然看了一个小时。我想了想自己这些年,好像确实如此。我把二分的左右边界又推了一遍,这次终于没写死循环。这条经验值直接拉满