题目传送
思路:
dp,状态为:维护到每一个点的最小步数
class Solution {
public:
int jump(vector<int>& nums) {
int dp[10005];
fill(dp,dp+10005,1e9+7);
dp[0] = 0;
for(int i = 0;i < nums.size();i++)
{
for(int j = 1;j <= nums[i];j++) //遍历从i这个点能走到的所有点,然后维护最小值
{
int a = i+j;
if(a >= nums.size()) break;
dp[a] = min(dp[i]+1,dp[a]);
}
}
return dp[nums.size()-1];
}
};