leetcode 每日一题 45. 跳跃游戏 II

Posted nil_f

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 每日一题 45. 跳跃游戏 II相关的知识,希望对你有一定的参考价值。

贪心算法

思路:

从头开始遍历数组,用end记录当前步所能到达的截止位置,maxPos记录下一步所能到达的最大位置,当遍历到当前步截止位置时,步数加一,end更新为下一步所能到达的最大位置,继续遍历。

代码:

class Solution:
    def jump(self, nums: List[int]) -> int:
        n = len(nums)
        maxPos, end, step = 0, 0, 0
        for i in range(n - 1):
            if maxPos >= i:
                maxPos = max(maxPos, i + nums[i])
                if i == end:
                    end = maxPos
                    step += 1
        return step

 

以上是关于leetcode 每日一题 45. 跳跃游戏 II的主要内容,如果未能解决你的问题,请参考以下文章

leetcode每日一题:55. 跳跃游戏

《LeetCode之每日一题》:236.跳跃游戏

算法·每日一题(详解+多解)-- day14

算法·每日一题(详解+多解)-- day14

每日一题——跳跃游戏

每日一题——跳跃游戏