搜索:LeetCode

共命中 4 条(服务端检索)
LeetCode 200. 岛屿数量:DFS、BFS 与并查集三种解法
数岛屿的本质是在网格图上数连通分量。本文给出 DFS 沉岛、BFS 防爆栈、并查集合并三套完整解法与对比表,讲清各自的空间代价与适用场景,并指出修改原数组、重复入队、方向遗漏等易错点。
原创 算法题解 精选 · 原创 · 昨天 阅读 0·访客 0
LeetCode 146. LRU 缓存:哈希表 + 双向链表的经典组合拳
LRU 缓存要求 get 与 put 都做到 O(1),单靠哈希表或单靠链表都做不到。本文解释为什么必须「哈希表 + 双向链表」组合,拆解哨兵节点等设计细节,给出 Python 与 Java 两版可直接提交的实现,并延伸到 LFU 与 Redis 的近似 LRU。
原创 算法题解 精选 · 原创 · 昨天 阅读 0·访客 0
LeetCode 322. 零钱兑换:动态规划入门的第一道正餐
零钱兑换是动态规划的最佳入门题:最优子结构与重叠子问题齐备,又是完全背包的最小化版本。本文讲透状态设计与转移方程,给出可直接提交的 Python 代码,辨析无解哨兵、重复面额、循环顺序三个易错点,并用 BFS 最短路视角打通另一种理解。
原创 算法题解 精选 · 原创 · 昨天 阅读 0·访客 0
LeetCode 33. 搜索旋转排序数组:一次二分讲透「分段有序」
旋转排序数组中查找目标是二分查找的变形题之王。本文讲透「分段有序」关键观察:任意 mid 切开必有一半完全有序,据此每步安全扔掉一半;给出可直接提交的 Python 实现与循环不变量思维,并拆解三个高频易错点。
原创 算法题解 精选 · 原创 · 昨天 阅读 0·访客 0