LeetCode 55 跳跃游戏

// LeetCode 55 跳跃游戏

// 贪心地每次走最远


class Solution {
    public boolean canJump(int[] nums) {
        int currentEnd = 0;
        int currentFar = 0;
        boolean res = false;

        for (int i = 0;i < nums.length - 1; i ++){
            currentFar = Math.max(currentFar, i + nums[i]); // 当前能走到最远

            if (i == currentEnd){ // 此时已经到上一次能走到的最大距离
                if (currentFar == currentEnd) return false; // 两者相等表示走不了了
                currentEnd = currentFar;
            }
        }
        return currentFar >= nums.length - 1;

    }
}

 

你可能感兴趣的:(LeetCode,数组,Java,LeetCode,55,跳跃游戏,Java)