题解
题目还是比较好懂的,贪心算法,只要能满足一个步骤跳到最后就可以。
即当存在满足两个条件的这个就可以跳到最后一个。
1.可以跳到当前位置
2.在当前位置时,可以跳的最远具体大于等于最后一个。
代码
class Solution {
public:
bool canJump(vector<int>& nums) {
int n = nums.size();
int maxn = 0;
for(int i = 0; i < n; i++){
if(maxn >= i){//证明可以到达这个位置
maxn = max(maxn,i + nums[i]);
}
if(maxn >= n -1){
return true;
}
}
return false;
}
};