1. 程式人生 > >LeetCode-45. 跳躍遊戲 II

LeetCode-45. 跳躍遊戲 II

題目地址: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];
    }
};