这道题目关键点在于:不用拘泥于每次究竟跳几步,而是看覆盖范围,覆盖范围内一定是可以跳过来的,不用管是怎么跳的。
class Solution {
public boolean canJump(int[] nums) {
if(nums.length == 1){
return true;
}
int cover = 0;
for(int i = 0; i <= cover; i++){
cover = Math.max(cover,i + nums[i]);
if(cover >= nums.length - 1){
return true;
}
}
return false;
}
}