题意:给一个数组,数组元素等于在该点可以跳跃的最大长度,求出是否能从起点跳到终点
思路:若某点为0则无法跳跃,若该点不为终点则返回false,求出前面可跳长度是否足以跳过该点即可
class Solution {
public boolean canJump(int[] nums) {
if (nums.length == 1)
return true;
for (int i = nums.length-1; i >= 0; i--) {
if (nums[i] == 0) {
int flag = 0;
for (int j = i-1; j >= 0; j--) {
if (nums[j] > i-j || (nums[j] == i-j && i == nums.length-1)) {
flag = 1;
break;
}
}
if (flag == 0) {
return false;
}
}
}
return true;
}
}