维护当前能到达的最远下标 right,遍历所有可达位置并不断更新它。如果遍历结束前 right 已覆盖最后一个下标,就能到达终点。
时间复杂度
空间复杂度
1 2 3 4 5 6 7 8 9 10 11 12
classSolution { publicbooleancanJump(int[] nums) { intright=0, n = nums.length; for (inti=0; i < n && i <= right; ++i) { right = Math.max(right, i + nums[i]); if (right >= n - 1) { break; } } return right >= n - 1; } }