class Solution {
public:
bool canJump(vector<int>& nums) {
int n=1;
for(int i=nums.size()-2;i>=0;i--){//从倒数第二个位置开始遍历;
if(nums[i]>=n){//若是在这个位置的值大于等于n,则表示可以跳跃至最后一个数;
n=1;
}
else{n++;}//否则就将跳跃的跨度加1;
if(i==0 && n>1) return false;//若是遍历到开头的位置,且此时n非1,则表示无法找到;
}
return true;
}
};
思路:此题要从后往前考虑,并且要从倒数第二个位置开始,一直往前推,就可顺利完成;