55. 跳跃游戏

一 题目:

二 思路:

其实就是贪心算法,尽量找到能跳跃的最远位置,如果能跳跃的最远位置是0,就结束

三 代码:

public boolean canJump(int[] nums) {
        if (nums.length<=1){
            return true;
        }

        //尽量去能跳更远的格子里去
        int target=nums.length-1;
        int max=nums[0];
        for (int i = 1; i < nums.length; i++) {
            //如果已经超过能跳跃位置
            if (i>max){
                return false;
            }
            //判断时候有更远的位置
            if (nums[i]+i>max){
                //如果这个位置能跳的更远,就这个位置
                max=nums[i]+i;
            }

            //当前能跳跃的最远的值是不是已经到终点之后
            if (max>=target){
                return true;
            }
        }
        return max>=target;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容