贪心算法-跳跃游戏

55.跳跃游戏

java 复制代码
给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。

输入 :数组
输出 :布尔值
思路:直接看题解

遍历数组,更新可以到达的最远位置,如果一旦能到达的最远位置超过了数组的最大位置,则可以直接返回true,遍历完成之后,最后一个位置仍不可到达,则直接返回false。

java 复制代码
class Solution {
    public boolean canJump(int[] nums) {
        int n = nums.length;
        int rightMost = 0;
        for(int i = 0; i < n; i++){
            if(i <= rightMost){
                rightMost = Math.max(rightMost, i + nums[i]);
                if(rightMost >= n - 1){
                    return true;
                }
            }
        }
        return false;
    }
}
相关推荐
Tisfy7 分钟前
LeetCode 2483.商店的最少代价:两次遍历 -> 一次遍历
算法·leetcode·题解·遍历
技术小甜甜11 分钟前
【Godot】【入门】GDScript 快速上手(只讲游戏里最常用的 20% 语法)
android·游戏·编辑器·游戏引擎·godot
YGGP17 分钟前
【Golang】LeetCode 279. 完全平方数
算法·leetcode
im_AMBER23 分钟前
Leetcode 87 等价多米诺骨牌对的数量
数据结构·笔记·学习·算法·leetcode
import_random33 分钟前
[算法]时间序列(介绍)
算法
wuk99837 分钟前
MATLAB中求解和分析马蒂厄方程
人工智能·算法·matlab
Wang201220131 小时前
LSTM和Transformer对比
人工智能·算法·架构
KingRumn1 小时前
Linux进程间通信之D-Bus
linux·算法
fufu03111 小时前
Linux环境下的C语言编程(四十九)
linux·c语言·算法
YGGP1 小时前
【Golang】LeetCode198. 打家劫舍
算法·leetcode