class Solution {
public:
int jump(int A[], int n) {
vector<int>dp(n,0);
for(int i=0;i<n;i++)
{
int reach=min(i+A[i],n-1);
for(int j=i+1;j<=reach;j++)
if(dp[j]==0)dp[j]=dp[i]+1;
if(dp[n-1]!=0)break;
}
return dp[n-1];
}
};
网友评论