题目如下:
解题思路:
nums[i-j]>j
(j为2个元素的距离),
如果没有的话就返回false,否则继续遍历,如果直至遍历结束所有元素0都可以越过就返回true
注意:*当0为数组最后一个元素时,如果前面位置都可以到达,那么最后位置也是可以到达的。
代码如下:
class Solution {
public boolean canJump(int[] nums) {
boolean is=false;
int l=nums.length;
//判断数组是否为空如果空返回false
if (nums.length==0){
return false;
}
//遍历数组
for (int i=0;i<l;i++){
//当元素为0时候
if (nums[i]==0){
//判断是否为最后一个元素
if (i==l-1){
return true;
}else {
//遍历0前面的元素是否含可以越过0的元素
for (int j=1;jj;
System.out.println(is);
//如果有,结束这次遍历,继续寻找下一个0
if (is){
break;
}
}
//如果遍历结束没有找到,返回false
if (!is){
return false;
}
}
}
}
//如果遍历正常结束说明最后一个位置可以到达,返回true
return true;
}
}