publicbooleancanJump(int[] nums){ if (nums.length == 0 || nums.length == 1) returntrue; int max = nums[0]; for (int i = 0; i < nums.length; i++) { int cur = nums[i]; if (i > max) { //当前到达的点比最大值大,说明不能到达,那么这之后的点也都不能到达,包括最后一个点 returnfalse; } if (cur + i >= max) { max = cur + i; } } if (max >= nums.length - 1) returntrue; returnfalse; }