【1】45. 跳跃游戏 II (python3)

题目: 给你一个非负整数数组 nums ,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。假设你总是可以到达数组的最后一个位置

示例:

【1】45. 跳跃游戏 II (python3)_第1张图片

题解:

class Solution:
    def jump(self, nums: List[int]) -> int:
        # 能跳到的最远距离
        max_jump=0
        # 记录跳跃次数
        step=0
        # 记录每一步跳跃可以到的区间的最后一个元素,用于记录何时step+=1 
        end=0
        for i in range(len(nums)-1):
            max_jump=max(max_jump,nums[i]+i)
            if end==i:
                step+=1
                end=max_jump
        return step


解释转自leecode

【1】45. 跳跃游戏 II (python3)_第2张图片【1】45. 跳跃游戏 II (python3)_第3张图片

作者:wu_yan_zu
链接:https://leetcode-cn.com/problems/jump-game-ii/solution/tan-xin-suan-fa-zhu-xing-jie-shi-python3-by-zhu_sh/
来源:力扣(LeetCode)

你可能感兴趣的:(华为题库高频,python,leetcode,动态规划)