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

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

  • 1. 题目
  • 2. 读题(需要重点注意的东西)
  • 3. 解法
  • 4. 可能有帮助的前置习题
  • 5. 所用到的数据结构与算法思想
  • 6. 总结

1. 题目

[LeetCode]55. 跳跃游戏(java实现)_第1张图片

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

思路:
遍历一遍数组,用j存储能跳转的最远的位置,即j = Math.max(j,nums[i]+i)
j时,说明不会跳转了,返回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. 可能有帮助的前置习题

  • [LeetCode] 45. 跳跃游戏 II(java实现)贪心

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

6. 总结

你可能感兴趣的:(LeetCode深度解析,leetcode,java)