leecode100-跳跃游戏2-贪心算法

题目

解法

对于位置i来说,假设目前我们能到达的最远边是cur_right,为了能够到达最远方,我们肯定需要在在i到cur_right中选择一个位置进行建桥;注意,无论选择哪个位置,那么从该位置到针对该位置的最远桥next_right的之间位置都是到达;因此,只要每次选择位置的时候,我们都选择next_right最远的那个就可以了;

我们不需要考虑具体选择哪个,我们只要维护好最远next_right的就行,以及记录建桥次数。

cpp 复制代码
class Solution:
    def jump(self, nums: List[int]) -> int:
        ans = 0
        cur_right = 0#记录当前已经建造的桥的最远右边举例
        next_right = 0
        for i in range(len(nums)-1):
            next_right = max(next_right, nums[i] + i)#记录可以建造的最远的桥
            if i == cur_right:
                cur_right = next_right
                ans += 1
        return ans
相关推荐
JieE21215 小时前
LeetCode 226. 翻转二叉树|JS 递归超详细拆解,二叉树入门经典题
javascript·算法
JieE21216 小时前
LeetCode 104. 二叉树的最大深度|递归思路超详细拆解
javascript·算法
vivo互联网技术20 小时前
CVPR 2026 | 全新强化学习框架 BeautyGRPO:重塑真实人像
算法·大模型·cvpr·影像
Darling噜啦啦21 小时前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
用户497863050731 天前
(一)小红的数组操作
算法·编程语言
怕浪猫1 天前
Electron 系列文章封面图
算法·架构·前端框架
徐小夕1 天前
JitWord 3.0 正式发布,高精度Word异构解析+复杂组件兼容,打造web端协同Word编辑器
前端·vue.js·算法
通信小呆呆2 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人