给出一个非负整数数组,你最初在数组第一个元素的位置
数组中的元素代表你在这个位置可以跳跃的最大长度
判断你是否能到达数组最后一个元素的位置
例如
A =[2,3,1,1,4], 返回 true.
A =[3,2,1,0,4], 返回 false.
# # # @param A int整型一维数组 # @return bool布尔型 # class Solution: def canJump(self , A ): # write code here l = len(A) i = A[0] j = 0 if l == 1: return True else: while i < l - 1: j = A[i] if A[i] == 0: return False else: i += j return True
class Solution: def canJump(self, A): # write code here length = len(A) if length <= 1: return True list1 = [0 for i in range(length)] list1[0] = 0 for i in range(1, length): temp = 0 temlist = [] if A[i - 1] >= 1: temp = list1[i - 1] + 1 else: temp = 1000 for j in range(0, i): if j + A[j] >= i: temlist.append(list1[j]) if len(temlist)!=0: list1[i] = min(temp, min(temlist) + 1) else: return False if list1[-1] == 0: return False else: return True