leetcode-55. 跳跃游戏

2022-10-27 14:53:50 浏览数 (1)

JAVA解法

代码语言:javascript复制
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. 跳跃游戏

0 人点赞