思路
记录当前能走到的最远的地点,并且在这个范围内遍历,每次遍历更新最远地点。
代码
class Solution {
public:
bool canJump(vector<int>& nums) {
int i = 0;
for (int reach = 0; i < nums.size() && i <= reach; ++i)
reach = max(reach, i + nums[i]);
return i == nums.size();
}
};