题目分析:
这一题是让我们以某个数值位置跳跃,值为跳跃步数,看是否能跳跃到最后,与【LeetCode】45. Jump Game II 一样,还要简单一些,我们直接借助这个思路即可。思路就是从某个位置i+num[i]
相加一直取大,看最后是否大于等于nums
的length-1
。
测试代码:
class Solution:
def canJump(self, nums):
next_num = i = 0
length = len(nums)
while i < length:
next_num = max(i + nums[i], next_num)
if next_num >= length - 1:
return True
if next_num > i:
i += 1
else:
return False
print(Solution().canJump([2,3,1,1,4])) #提交时请删除该行