1. 程式人生 > >[leetcode] 55. 跳躍遊戲

[leetcode] 55. 跳躍遊戲

mat math num pro script length -- ble -c

55. 跳躍遊戲

分明就是45. 跳躍遊戲 II的縮水版本嘛。。??,難度高的版本居然放在了前面,把像我這種有強迫癥的必須按照題號刷題的人不放在眼裏麽。。。

class Solution {
    public boolean canJump(int[] nums) {
        return jump(nums) != Integer.MAX_VALUE;
    }

    public int jump(int[] nums) {
        int f[] = new int[nums.length];
        if (nums.length == 0) {
            return 0;
        }
        if (nums.length == 1) {
            return 0;
        }
        f[nums.length - 1] = 0;
        for (int i = nums.length - 2; i >= 0; i--) {
            f[i] = findMin(f, i, nums[i]) + 1;
            if (f[i] < 0) f[i] = Integer.MAX_VALUE;
        }

        return f[0];

    }

    private int findMin(int[] f, int i, int num) {
        int min = Integer.MAX_VALUE;
        for (int j = 1; j <= num && i + j < f.length; j++) {
            min = Math.min(min, f[i + j]);
        }
        return min;
    }
}

[leetcode] 55. 跳躍遊戲