【贪心算法】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 复制代码
相关推荐
始三角龙6 小时前
LeetCode hoot 100 -- 最小覆盖子串
算法·leetcode·职场和发展
小年糕是糕手6 小时前
【C/C++刷题集】顺序表、vector、链表、list核心精讲
c语言·开发语言·数据结构·c++·算法·leetcode·蓝桥杯
天上的光6 小时前
算法——概述
算法
水木流年追梦6 小时前
CodeTop Top 300 热门题目10-验证IP地址
python·网络协议·tcp/ip·算法·leetcode
样例过了就是过了6 小时前
LeetCode热题100 乘积最大子数组
c++·算法·leetcode·动态规划
minji...6 小时前
Linux 线程同步与互斥(六) 线程安全与重入问题,死锁,线程done
linux·运维·开发语言·数据库·c++·算法·安全
wayz116 小时前
Day 16 编程实战:PCA主成分分析与技术指标降维
人工智能·算法·机器学习
探序基因6 小时前
单细胞转录组Seurat去批次-RPCA算法
算法
yuanyuan2o26 小时前
GDB 调试指南
c语言·c++·算法
流年如夢6 小时前
算法效率:复杂度原理解析
c语言·数据结构·算法