解题思路1:
从头往后找每一个为0的元素,判断这个0能够跳过,所有的0都能跳过,则返回True,否则返回False
解题思路2:
从前往后遍历数组,设置一个访问到当前位置i时最远可调到的距离maxlengh,maxlengh如果大于等于数组长度,则返回True,如果访问的位置i赶上maxlengh时,则说明无法到达数组最后一个位置,则返回False。
解题思路2对应的代码如下:
class Solution: def canJump(self, nums): max_length = 0 for i in range(len(nums)): if i>max_length: return False max_length = max(max_length, i+nums[i]) if max_length>=len(nums): return True return True
已测试通过