[LeetCode]55. 跳跃游戏(java实现)

1. 题目

在这里插入图片描述

2. 读题(需要重点注意的东西)

思路:
遍历一遍数组,用j存储能跳转的最远的位置,即j = Math.max(j,nums[i]+i)
j<i时,说明不会跳转了,返回false即可。

3. 解法

---------------------------------------------------解法---------------------------------------------------

class Solution {
    public boolean canJump(int[] nums) {
        for(int i = 0,j = 0;i < nums.length;i++){
            if(j < i) return false;
            j = Math.max(j,nums[i]+i); // 枚举每个nuns[i],求出j最远可以跳到何处
        }
        return true;
    }
}

可能存在的问题:

4. 可能有帮助的前置习题

5. 所用到的数据结构与算法思想

6. 总结


版权声明:本文为weixin_43972154原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。