LeetCode #55 跳跃游戏

Posted 三笠·阿卡曼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode #55 跳跃游戏相关的知识,希望对你有一定的参考价值。

题目

给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。

示例

在这里插入图片描述

最佳代码

class Solution {
    public boolean canJump(int[] nums) {
        //定义一个变量,保存当前最远能跳到的位置
        int farthest = 0;

        //遍历数组,更新farthest
        for (int i = 0; i < nums.length; i++) {
            //判断当前i在可以到达的范围内,更新farthest
            if (i <= farthest) {
                farthest = Math.max(farthest,i+nums[i]);
                // 如果farthest已经达到了末尾,直接返回true
                if (farthest >= nums.length - 1) {
                    return true;
                }
            }else{
                //如果i已经到不了了
                return false;
            }
        }

        return false;
    }
}

以上是关于LeetCode #55 跳跃游戏的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 55. 跳跃游戏

LeetCode #55 跳跃游戏

leetcode55跳跃游戏

Leetcode55. 跳跃游戏(JAVA贪心)

[leetcode] 55. 跳跃游戏

LeetCode:跳跃游戏55