P55跳跃游戏

这是一道模拟题,一开始我用dfs会超时。 后来发现是一道模拟题
- 只需要用ans记录,当前所有可以走到的位置
- 判断是否走到终点
- 如果循环结束ans都没法覆盖到终点,就是无法走到
- 注意边界,防止nums越界
class Solution {
public:
bool canJump(vector<int>& nums) {
int ans = 0;
if(nums.size() == 1){
return true;
}
for(int i=0;i<=ans;i++){
if(ans >= nums.size()-1){
return true;
}
ans = max(ans , i + nums[i]);
}
return false;
}
};