假设我们有一个非负整数数组;我们最初位于数组的第一个索引处。给定数组中的每个元素代表该位置的最大跳转长度。我们必须确定我们是否能够达到最后一个索引。因此,如果数组类似于[2,3,1,1,4],则输出为true。这就像从位置0跳1步,然后从位置1跳到末尾三步。
让我们看看步骤-
n:=数组A的长度– 1
对于i:= n – 1,降至-1
如果A [i] + i> n,则n:= i
当n = 0时返回true,否则返回false
让我们看下面的实现以更好地理解-
class Solution(object): def canJump(self, nums): n = len(nums)-1 for i in range(n-1,-1,-1): if nums[i] + i>=n: n = i return n ==0 ob1 = Solution()print(ob1.canJump([2,3,1,1,4]))
[2,3,1,1,4]
输出结果
True