相关题目:
解题思路:
相关代码:
class Solution {
public:
int jump(vector<int>& nums) {
//dp[i]表示的意思是从j跳到i时的最小步数。
vector<int> dp(10001,10001);
dp[0]=0;
dp[1]=1;
for(int i=2;i<nums.size();i++){ //i表示的是终点。
for(int j=0;j<i;j++){ //j表示的是起点
if(j+nums[j]>=i){
dp[i]=min(dp[i],dp[j]+1);
}
}
}
return dp[nums.size()-1];
}
};