跳跃游戏(每日一题-中等)
题解:定义一个变量,用来存储可以到达的最远位置。初始化为0。
然后对数组进行遍历,遍历开始的时候,先判断当前这个位置和最远位置谁大,如果最远位置比较大,那么就说明当前这个位置也能达到,就看看再加入当前这个位置的步数能否达到更远的位置,对最远位置进行更新。如果当前位置比较大,就说明到不了目前这个位置,就肯定到不了数组末尾,返回false
class Solution {public boolean canJump(int[] nums) {int maxnum=0;for(int i=0;i<nums.length;i++){if(i>maxnum){return false;}maxnum=Math.max(maxnum,i+nums[i]);}return true;}
}