45. 跳跃游戏Ⅱ 发表于 2025-11-08 更新于 2026-10-20 分类于 算法题解 , 面试经典150题 贪心贪心地按层扩展:当前能到达的最远位置为 right,在走到 right 之前记录下一层能到达的最远位置 newRight。当 i 到达 right 时,步数加一,并把边界推进到 newRight。 时间复杂度 空间复杂度 阅读全文 »
55. 跳跃游戏 发表于 2025-11-08 更新于 2026-10-20 分类于 算法题解 , 面试经典150题 贪心维护当前能到达的最远下标 right,遍历所有可达位置并不断更新它。如果遍历结束前 right 已覆盖最后一个下标,就能到达终点。 时间复杂度 空间复杂度 阅读全文 »
122. 买卖股票的最佳时机Ⅱ 发表于 2025-11-07 更新于 2026-10-20 分类于 算法题解 , 面试经典150题 贪心可以无限次交易,因此把所有上涨区间的收益都收下即可。遍历时若今天价格高于昨天,就把差价计入答案。 时间复杂度 空间复杂度 阅读全文 »
121. 买卖股票的最佳时机 发表于 2025-11-07 更新于 2026-10-20 分类于 算法题解 , 面试经典150题 贪心因为只能买卖一次,枚举卖出日时,只要知道它之前的最低价格即可。遍历数组,维护历史最低价 preMin,用当前价格减去 preMin 更新最大利润。 时间复杂度 空间复杂度 阅读全文 »
189. 轮转数组 发表于 2025-11-07 更新于 2026-10-20 分类于 算法题解 , 面试经典150题 双指针先整体反转,再分别反转前 k 个和后 n-k 个元素,即可完成循环右移。三次反转都是原地操作。 时间复杂度 空间复杂度 阅读全文 »
169. 多数元素 发表于 2025-11-07 更新于 2026-10-20 分类于 算法题解 , 面试经典150题 摩尔投票摩尔投票:把不同的元素两两抵消,出现次数超过一半的元素最后一定会留下。遍历时维护候选值和它的票数,票数归零就更换候选。 时间复杂度 空间复杂度 阅读全文 »
26. 删除有序数组中的重复项 发表于 2025-11-07 更新于 2026-10-20 分类于 算法题解 , 面试经典150题 双指针数组已有序,重复元素一定相邻。用 left 指向新数组的最后一个位置,right 扫描原数组,遇到不同的值就写入 left + 1。 时间复杂度 空间复杂度 阅读全文 »
27. 移除元素 发表于 2025-11-03 更新于 2026-10-20 分类于 算法题解 , 面试经典150题 双指针用 left 记录新数组长度,right 扫描数组;遇到不等于 val 的元素就写到 left 位置并后移。 时间复杂度 空间复杂度 阅读全文 »