class Solution:
def canJump(self, nums):
max=nums[0]
L=len(nums)
for i in range(0,L):
if(i>max):
return False
elif max>=L-1:
return True
elif (i+nums[i])>max:
max=i+nums[i]
max记录当前能到达的最大长度,L为总长度。易知,若max可达,则小于max的所有长度均可达。从头到尾遍历一遍,每次更新max的值,若i超出max则不能到达最后,若max>=L-1则可。这用到了贪心算法。
LeetCode 4
最新推荐文章于 2024-09-19 23:06:57 发布