思想:
每次更新所能到达的最远位置,最后看是否大于等于最后一个元素的位置。
class Solution {
public:
bool canJump(vector<int>& nums) {
int reach = 0;
for(int i=0; i<=reach && reach<nums.size()-1; i++) {
reach = max(reach,i+nums[i]);
}
return reach >= nums.size()-1;
}
};