版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/l718531794/article/details/85854423
题目地址:https://leetcode-cn.com/problems/jump-game-ii/
思路:剪枝无效情况,从前之后更新一遍就可以了。
AC代码:
class Solution {
public:
int jump(vector<int>& nums) {
int n = nums.size();
int ans[n+5];
memset(ans,0x3f3f3f3f,sizeof(ans));
ans[0] = 0;
int max = 0;
for(int i=0;i<n;i++){
if(i+nums[i]<=max)
continue;
max = i+nums[i];
for(int j=1;j<=nums[i] && i+j<n;j++){
ans[i+j] = min(ans[i+j],ans[i]+1);
}
}
return ans[n-1];
}
};