【贪心】LeetCode 55. 跳跃游戏

题目链接

55. 跳跃游戏

思路

如果某一个作为 起跳点 的格子可以跳跃的距离是 3,那么表示后面 3 个格子都可以作为 起跳点。可以对每一个能作为 起跳点 的格子都尝试跳一次,把能跳到最远的距离 不断更新。如果可以一直跳到最后,就成功了。

代码

class Solution {
    public boolean canJump(int[] nums) {
        int maxDistance = 0;

        for(int i = 0; i < nums.length; i++){
            if(maxDistance >= i){
                maxDistance = Math.max(maxDistance, nums[i] + i);
            }
        }

        return maxDistance >= nums.length - 1;
    }
}
posted @ 2023-04-03 10:12  Frodo1124  阅读(21)  评论(0编辑  收藏  举报