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
探讨使用贪心策略解决跳跃游戏问题,通过代码实现快速判断能否到达数组末尾。
997

被折叠的 条评论
为什么被折叠?



