题解 | #跳跃游戏(一)#
跳跃游戏(一)
https://www.nowcoder.com/practice/07484f4377344d3590045a095910992b?tpId=230&tqId=2358425&ru=/exam/oj&qru=/ta/dynamic-programming/question-ranking&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D230
import sys
n = int(input())
numbers= list(map(lambda x :int(x),input().split()))
def jump(n,numbers):
maxpostion=0
for i in range(n):
maxpostion =max(maxpostion,numbers[i]+i)
#当前元素能够到达的最远的距离大于n-1时说明可以到达最远的元素
if maxpostion >=n-1:
print("true")
return True
#当前元素能够到达的最远的距离比i小,或者和i相等,说明没有元素能够跳过这个元素到达最大的值
elif maxpostion<= i:
print("false")
return False
jump(n,numbers)
