一、题目
二、代码
class Solution
{
public boolean canJump(int[] nums)
{
if(nums.length == 1 ) return true;
//下标数组 记录可以到达的带你
int length ;
length = nums.length;
// boolean[] arrive = new boolean[length];
int i=0;
int cover = nums[0];
while(i<=cover&&i<length)
{
if(i+nums[i]>cover)
{
cover = i +nums[i];
}
i++;
System.out.println(" cover " +cover);
}
if(cover>=length-1) return true;
return false;
}
}
三、运行结果
四、附录
二刷
class Solution
{
public boolean canJump(int[] nums)
{
int i=0;
int max = nums[0];
int length=nums.length;
while(i<=max)
{
if(i+nums[i]>max) max = i+nums[i];
if(max>=length-1) break;
i++;
}
if(max>=length-1) return true;
return false;
}
}