思路
假设当前跳到的最大位置是0 maxs=0
则在不超过此位置进行跳跃时,有没有能跳得更远的,有,更换能跳到最大位置
当最大位置超过或者等于最后一个台阶的位置,说明能跳到,否则跳不到
python
class Solution(object):
def canJump(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
maxs = 0
for i in range(len(nums)-1):
if i<=maxs:
maxs=max(maxs,i+nums[i])
else:
break
if maxs>=len(nums)-1:
return True
return False