zl程序教程

您现在的位置是:首页 >  其他

当前栏目

leetcode-55. 跳跃游戏

LeetCode游戏 跳跃 55
2023-06-13 09:14:07 时间

JAVA解法

class Solution {
    public boolean canJump(int[] nums) {
        // 获取数组长度
        int length = nums.length;
        // 定义记录最大触及的右边界位置
        int rightBoundary = 0;
        // 判断每一步的下一步能触及的最大右边界范围是否大于数组长度,
        // 若大于则说明能够到达最后一个下标的位置,否则说明不能达到。
        for(int i = 0;i < length; i++){
            if(i <= rightBoundary){
                rightBoundary = Math.max(rightBoundary,i + nums[i]);
                if(rightBoundary >= length - 1){
                    return true;
                }
            }
        }
        return false;
    }
}

题解分析

  根据题目要求,我们先获取数组的长度赋值给 length,并定义记录最大触及的右边界位置 rightBoundary。接下来 for 循环从第一步开始,判断每一步的下一步能触及的最大右边界范围是否大于数组长度,若大于则说明能够到达最后一个下标的位置,否则说明不能达到。

leetcode原题:55. 跳跃游戏