55. 跳跃游戏

解法1

模拟

动态规划

java 复制代码
class Solution {
    public boolean canJump(int[] nums) {
        int n = nums.length;
        boolean[] reachArr = new boolean[n];
        reachArr[n - 1] = true;
        for (int i = n - 2; i > -1; i--) {
            int right = Math.min(nums[i] + i + 1, n);
            for (int j = i + 1; j < right; j++) {
                if (reachArr[j]) {
                    reachArr[i] = true;
                    break;
                }
            }
        }
        return reachArr[0];
    }
}

解法2

累计可达距离大于等于n-1,则可以达到。

遍历每个元素,计算在当前位置基础上,最大可达右边界。

维持一个最大可以到达的右边界。

java 复制代码
class Solution {
    public boolean canJump(int[] nums) {
        int n = nums.length;
        int rightmost = 0;
        for (int i = 0; i < nums.length; i++) {
            // 当前位置可达
            if (i <= rightmost) {
                // 尝试更新右边界
                rightmost = Math.max(rightmost, i + nums[i]);
                if (rightmost >= n - 1) {
                    return true;
                }
            }
        }
        return false;
    }
}
相关推荐
YuTaoShao15 分钟前
【LeetCode 每日一题】1653. 使字符串平衡的最少删除次数——(解法一)前后缀分解
算法·leetcode·职场和发展
VT.馒头22 分钟前
【力扣】2727. 判断对象是否为空
javascript·数据结构·算法·leetcode·职场和发展
goodluckyaa31 分钟前
LCR 006. 两数之和 II - 输入有序数组
算法
孤狼warrior32 分钟前
YOLO目标检测 一千字解析yolo最初的摸样 模型下载,数据集构建及模型训练代码
人工智能·python·深度学习·算法·yolo·目标检测·目标跟踪
前端不太难43 分钟前
HarmonyOS 游戏项目,从 Demo 到可上线要跨过哪些坑
游戏·状态模式·harmonyos
Σίσυφος19001 小时前
PCL法向量估计 之 RANSAC 平面估计法向量
算法·机器学习·平面
xhbaitxl1 小时前
算法学习day39-动态规划
学习·算法·动态规划
I_LPL1 小时前
day23 代码随想录算法训练营 回溯专题2
算法·hot100·回溯算法·求职面试
智者知已应修善业1 小时前
【洛谷P9975奶牛被病毒传染最少数量推导,导出多样例】2025-2-26
c语言·c++·经验分享·笔记·算法·推荐算法
子春一1 小时前
Flutter for OpenHarmony:色彩捕手:基于 CIELAB 色差模型与人眼感知的高保真色彩匹配游戏架构解析
flutter·游戏·架构