Given an array of non-negative integers, you are initially positioned at the first index of the array.
Each element in the array represents your maximum jump length at that position.
Determine if you are able to reach the last index.
For example:
A = [2,3,1,1,4]
, return true
.
A = [3,2,1,0,4]
, return false
.
This is a greedy problem, in each step we need to check fastest reach step. If there is any step cannot help we step further that means we cannot reach the end.
code is as follow:
<pre name="code" class="python">class Solution: # @param A, a list of integers # @return a boolean def canJump(self, A): index=0 reach=0 if len(A)<=1: return True while index<len(A): if reach<index: return False reach=max(reach,A[index]+index) index+=1 return True
时间: 2024-10-13 00:30:16