Simple C++ easy Solution


#1

int Solution::canJump(vector &A) {
if(A.size()==1)
return 1;
int n=A.size();
int dp[n];
dp[0]=A[0];
int max=A[0];
for(int i=1;i<n;i++)
{
if(max<A[i]+i && max>=i)
{
dp[i]=A[i]+i;
max=A[i]+i;
}
else
{
dp[i]=0;
}
}
for(int i=0;i<n-1;i++)
{
if(dp[i]>=n-1)
return 1;
}

return 0;

}