【python/Hard/45】Jump Game II

题目

【python/Hard/45】Jump Game II_第1张图片

基本思路

题目大意:现在是给你一个数组,肯定能跳到最后,问你最少需要多少步。

curReach表示当前能跳到的最远距离,lastReach表示上次最远可以跳到的距离。
那么,对于每次lastReach < i 时,说明跳上一次不到i,需要count++

实现代码

class Solution:
    def jump(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        lastReach,curReach = 0,0
        count = 0
        length = len(nums)

        for i in range(length):
            if lastReach < i:
                lastReach  = curReach
                count += 1
            curReach = max(curReach,nums[i]+i)
        return count

你可能感兴趣的:(LeetCode)