跳跃游戏-贪心算法

82 阅读1分钟
// 跳跃游戏-贪心算法

// 输入:nums = [2,3,1,1,4]

// 输出:true

// 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。

public static 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;

}