股票买卖系列是 LeetCode 上最经典的一组题,一个 DP 框架解决所有。 通用框架 = 第 i 天,最多 […]
分类: LeetCode
LeetCode 215. 数组中的第 K 个最大元素:快选 vs 堆排
第 K 大元素是高频面试题,考察 QuickSelect 算法。 题目 找数组中第 K 个最大的元素。比如 , […]
LeetCode 42. 接雨水:从暴力到双指针的思维提升
接雨水是经典的 Hard 题,但理解后会发现思路非常清晰。 题目 给定 ,求能接多少雨水。答案是 6。 思路核 […]
LeetCode 3. 无重复字符的最长子串:滑动窗口模板速通
无重复字符的最长子串是滑动窗口的入门题,也是最经典的模板题。 题目 给定 ,找出不含重复字符的最长子串长度。答 […]
LeetCode 200. 岛屿数量:DFS/BFS 遍历二维网格的模板
岛屿数量是 DFS/BFS 在二维网格中的经典应用。 题目 给定二维网格,'1' 是陆地,'0' 是水。求岛屿 […]
LeetCode 560. 和为 K 的子数组:前缀和 + HashMap 的巧妙组合
和为 K 的子数组是一道非常好的 Medium 题,教会我们前缀和的妙用。 题目 给定数组 和 k=3,求连续 […]
LeetCode 53. 最大子数组和:动态规划入门第一题
最大子数组和(Maximum Subarray)是动态规划的经典入门题。 题目 给定 ,找出和最大的连续子数组 […]
LeetCode 25. K 个一组翻转链表:递归解法的简洁与优雅
K 个一组翻转链表是链表题中的 Hard,但用递归来做非常简洁。 题目 给定链表 ,k=3,输出 (最后不足 […]
LeetCode 206. 反转链表:迭代和递归两种解法,面试必会
反转链表是链表操作的基础,面试官可能让你先写迭代,再写递归。 迭代解法 用三个指针:prev(前一个)、cur […]
LeetCode 239. 滑动窗口最大值:单调队列的经典应用
滑动窗口最大值是一道经典的 Hard 题,但用单调队列来做非常优雅。 题目 给定数组 和 ,返回每个窗口的最大 […]
LeetCode 15. 三数之和:排序+双指针的经典模板
三数之和(3Sum)是面试高频题,核心是排序 + 双指针。 题目 给定 ,找出所有和为 0 的不重复三元组。答 […]
LeetCode 146. LRU Cache:面试官最爱的设计题,手写双向链表+哈希表
LRU Cache 是面试频率最高的设计题之一。要求 get 和 put 都是 O(1)。 思路 核心是双向链 […]