思路:
尽可能到达最远位置(贪心)。如果能到达某个位置,那一定能到达它前面的所有位置。
代码如下:
class Solution:
def canJump(self, nums: List[int]) -> bool:
max_reach = 0
for i in range(len(nums)):
if i > max_reach:
return False
max_reach = max(max_reach, i + nums[i])
return True