【贪心算法】Leetcode 55. 跳跃游戏

【贪心算法】Leetcode 55. 跳跃游戏

---------------🎈🎈55. 跳跃游戏 题目链接🎈🎈-------------------

解法1

关键点在于:不用拘泥于每次究竟跳几步,而是看覆盖范围,覆盖范围内一定是可以跳过来的,不用管是怎么跳的。

⭐️每次移动取最大跳跃步数(得到最大的覆盖范围),每移动一个单位,就更新最大覆盖范围coverRange。

java 复制代码
class Solution {
    public boolean canJump(int[] nums) {
        // 遍历数组,nums[i]代表当前可以覆盖到的最大范围coverRange,
        // 在循环中不断的修改这个coverRange
        // 之后在这个范围中遍历,最终看能否覆盖到最后一个下标
        if(nums.length == 1) return true;
        int coverRange = 0;
        for(int i = 0; i <= coverRange; i++){
            coverRange = Math.max(coverRange,nums[i]+i); //动态更新coverRange
            if(coverRange >= nums.length-1) return true;
        }
    
        return false;
    }
}          

解法2

时间复杂度O(N)

空间复杂度O(N)

java 复制代码
相关推荐
阳明山水10 分钟前
TimesFM与Moirai MoE零样本预测解析
人工智能·深度学习·算法·机器学习·架构
铅笔侠_小龙虾24 分钟前
Rust 学习(2)-变量、常量与 shadowing
学习·算法·rust
AI科技星30 分钟前
基于全域数学公理体系的三元极值题最简求解法【乖乖数学】
线性代数·算法·游戏·决策树·机器学习·乖乖数学·全域数学
恣逍信点1 小时前
《凌微经》通俗解读——哲学第一因
学习·职场和发展·创业创新·学习方法·业界资讯·交友·哲学
大鱼>1 小时前
宠物异常行为预警系统:边缘计算与实时检测
人工智能·深度学习·算法·iot·宠物
apcipot_rain2 小时前
某双非机试真题
算法
米尔的可达鸭2 小时前
深入操作系统 Socket 底层:套接字控制块、FD映射、阻塞IO核心完整实现
arm开发·数据结构·websocket·网络协议·算法·架构·安全架构
tachibana23 小时前
hot100 课程表(207)
java·数据结构·算法·leetcode
神仙别闹3 小时前
编写基于C++ Huffman 算法的无损压缩程序和解压程序
java·c++·算法
玖玥拾3 小时前
Unity 3D 基础(一)Unity基础架构、物理系统、视觉渲染、空间变换与对象查询
笔记·游戏·3d·unity·游戏引擎