dp[i]表示到达i这个位置还能最多想右走几步,则有dp[i]=max(dp[i-1]-1,A[i]);
class Solution {
public:
bool canJump(int A[], int n) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int dp[n];
dp[0]=A[0];
if(dp[0]==0&&n>1) return false;
if(dp[0]==0&&n==1) return true;
for(int i=1;i<n-1;i++){
dp[i]=max(dp[i-1]-1,A[i]);
if(dp[i]==0) return false;
}
return true;
}
};