๐ŸŒ• 55. ่ทณ่ทƒๆธธๆˆ

ๅžไฝ›็ซฅๅญ2022ๅนด10ๆœˆ10ๆ—ฅ
  • algorithm
  • dp
ๅฐไบŽ 1 ๅˆ†้’Ÿ

๐ŸŒ• 55. ่ทณ่ทƒๆธธๆˆ

้šพๅบฆ: ๐ŸŒ•

้—ฎ้ข˜ๆ่ฟฐ

img_6.png


่งฃๆณ•

class Solution {
    public boolean canJump(int[] nums) {
        // ๆ€่ทฏ๏ผš
        // dp[i] - ไปฅ i ไธบๅฝ“ๅ‰ไฝ็ฝฎ๏ผŒ่ƒฝๅˆฐ่พพ็š„ๆœ€่ฟœ่ท็ฆป
        int len = nums.length;
        if(len == 1) {
            return true;
        }
        int[] dp = new int[len];
        dp[0] = nums[0];
        if(dp[0] >= len - 1) {
            return true;
        }
        // dp[0] < len - 1
        for(int i = 1; i < len; i ++) {
            if(dp[i - 1] >= i) {
                // ่ฏดๆ˜Ž i - 1 ๅค„ๆœ€่ฟœๅˆฐ่พพ็š„่ท็ฆป่ƒฝๅคŸ่ฆ†็›–ๅฝ“ๅ‰่Š‚็‚น
                int curMax = i + nums[i];
                dp[i] = Math.max(dp[i - 1], curMax);
                if(dp[i - 1] >= len - 1) {
                    return true;
                }
            } else {
                return false;
            }
        }
        return false;
    }
}

่พ“ๅ‡บ

img_5.png

ไธŠๆฌก็ผ–่พ‘ไบŽ: 2022/10/10 ไธ‹ๅˆ8:43:48
่ดก็Œฎ่€…: liuxianzhishou