【贪心算法】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 复制代码
相关推荐
Warren984 分钟前
Pytest Fixture 作用域详解:Function、Class、Module、Session 怎么选
面试·职场和发展·单元测试·pytest·pip·模块测试·jira
ujainu10 分钟前
无物理引擎实现吸附轨道逻辑 —— Flutter + OpenHarmony 实战指南
flutter·游戏·openharmony
_F_y18 分钟前
链表:重排链表、合并 K 个升序链表、K 个一组翻转链表
数据结构·链表
xu_yule20 分钟前
算法基础—组合数学
c++·算法
爱尔兰极光21 分钟前
LeetCode--移除元素
算法·leetcode·职场和发展
XLYcmy23 分钟前
一个用于统计文本文件行数的Python实用工具脚本
开发语言·数据结构·windows·python·开发工具·数据处理·源代码
努力学算法的蒟蒻25 分钟前
day73(2.1)——leetcode面试经典150
面试·职场和发展
Warren9827 分钟前
接口测试理论
docker·面试·职场和发展·eureka·ansible
方便面不加香菜31 分钟前
数据结构--链式结构二叉树
c语言·数据结构
senijusene31 分钟前
数据结构:单向链表(2)以及双向链表
数据结构·链表