标签:
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
.
#include<iostream> #include<vector> using namespace std; //贪心思想,每个下坐标确定最长跳跃值 bool canJump(int A[], int n) { if (n == 1 || n == 0) return true; int stepmax = A[0]; for (int i = 0; i < n;++i){ if (stepmax == 0) return false; stepmax--; if (stepmax < A[i]) stepmax = A[i]; if (stepmax + i >= n-1) return true; } }
def canJump(self,A): if len(A)<=1: return True maxstep = A[0] for index in range(1,len(A)): if maxstep == 0 : return False maxstep -= 1 if maxstep<A[index]: maxstep = A[index] if maxstep+index>=len(A)-1: return True;
标签:
原文地址:http://blog.csdn.net/li_chihang/article/details/44204811