给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。
解题思路
每个位置算自己最远能跳到哪里,那么倒过来考虑,更新需要跳到的位置即可
AC代码
class Solution:def canJump(self, nums: List[int]) -> bool:if len(nums) < 2:return Truenums = [i + v for i, v in enumerate(nums)]target = len(nums) - 1for i in range(len(nums) - 2, -1, -1):if nums[i] >= target:target = ireturn target == 0