原题
思路
- 一个一个遍历,更新最大能到达的地方,如果当前遍历的地方>maxL,就return false;否则return true.
代码
class Solution {
public:
bool canJump(vector<int>& nums) {
int maxL = 0, n = nums.size();
for (int i = 0; i < n; i++) {
if (maxL >= n-1) return true;
else if (maxL >= i) maxL = max(maxL, nums[i] + i) ;
else return false;
}
return false;
}
};