P55跳跃游戏

Screenshot 2025-11-03 160821.png

这是一道模拟题,一开始我用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;
    }
};

迷茫java练习生