LeetCode55题
思路:利用贪心原理:记录当前结点所能到达的最远(i+s[i]),然后和最远的比较,哪一个更远,记录下来。如果最远距离到不了当前距离(mx<i),则返回否。注意:初始如果只有一个,则认为已经到达。
class Solution:
def canJump(self, nums: List[int]) -> bool:
mx=0
lg=0
if len(nums)==1:return True
for i,num in enumerate(nums):
if mx<i:
return False
lg=i+num
mx=max(mx,lg)
if mx>=len(nums)-1:
return True
return False