代码随想录和 labuladong 两个优质资源,前两百道足以,后面的[ROI](ROI.md)极其极其低 为什么它们被人常提 53 题让人第一次体会到“存历史,省时间”的美妙。 42 题让人第一次感受到“全局与局部的边界条件”能玩出花样。 不出意外 大模型/机器学习版本的 LeetCode 来了!目前已经有 26 道题目,经典的矩阵、线性回归、反向传播单神经元实现等题目都有 感觉 AI Engineer 目前还没有特别的面试标准,但是未来企业又缺口巨大,这里面可能有一些机会 [https://deep-ml.com](https://t.co/gbrC2kG7PW) # 标题: 云中月 on X: "为什么 53 题和 42 题是刷题中最被人常提到的 学电脑的人,迟早会遇到一个词:LeetCode。不管是为了进大厂面试,还是为了自我提升,总会有人劝你去“刷题”。所谓“刷题”,其实就像打游戏刷副本:题目千千万,总得一关一关过。可这几千道题里,真正能留下传说色彩的,公认有两道:53 题和 42 题。" 为什么 53 题和 42 题是刷题中最被人常提到的? 53 题:动态规划的 Hello World 题目很简单:给你一串数字,找出连续子数组的最大和。 刚入门的人上来一顿乱试,复杂度是 O(n²),跑得怀疑人生。 聪明人一想:哎,这不就是“当前最优解 = 前一个最优解加上现在,或者从现在重新开始”吗? 于是就有了 Kadane 算法,代码短得像作弊一样:O(n) 秒杀。 53 题的意义不在题目,而在于它把“把过去干过的事存下来,换取未来的时间”这个动态规划的灵魂瞬间亮出来。 所以很多人说,53 题就是 动态规划的 Hello World。 42 题:双指针的试金石 再看 42 题:柱状图接雨水。 直观吗?直观。好写吗?不好写。 关键在于:某一格能接多少水,取决于它左边的最高点和右边的最高点,两者的最小值减去自己高度。 翻译成人话就是:你能装多少水,不看你自己有多低,而要看别人有多高。 写法有三种: 最笨的方法:左右分别扫一遍,O(n²)。 稍聪明点:预处理左右最高数组,O(n) 空间 O(n)。 面试官最爱看的:双指针夹逼,空间 O(1)。 所以 42 题就成了 双指针与单调栈的经典试金石。 为什么它们被人常提 53 题让人第一次体会到“存历史,省时间”的美妙。 42 题让人第一次感受到“全局与局部的边界条件”能玩出花样。 这两题就像武林秘籍: 53 是基本心法,学会了才能走进动态规划的门槛。 42 是内功心诀,会了才能算是真正摸到算法的筋骨。 难怪大家刷题一辈子,最后记住的不是 #1 Two Sum,而是 53 和 42。 江湖上还流传着这么个梗:有些 HR 面试时会不小心冒一句:“你觉得 53 和 42 哪个更难?” 别小看这问题。能听懂并随口说出“53 是动态规划的开门砖,42 是双指针的试金石”的人,说明真刷过题。 说白了,这就像暗号一样: 答得上来,初试基本就算过关了。 Quote ·