class Solution {
public:
bool canJump(vector<int>& nums) {
int i=0;
while(true){
if(i+nums[i]>=nums.size()-1)
return true;
int tmp=-1;
int w;
for(int j=i+1;j<=nums[i]+i;j++){
int k=(j-i)+nums[j];
if(k>nums[i]&&k>tmp){
tmp=k;
w=j;
}
}
if(tmp==-1)
return false;
i=w;
}
return false;
}
};
本题中心思想为贪心,从0坐标开始,判断该点能到达的位置及改位置是否比原位置更接近目标位置,记得判断每一个位置是否已经能够到达目标位置