代码随想录:跳跃游戏二

记录每一步能够跳跃的最远距离

class Solution {
public:
    int jump(vector<int>& nums) {
        if(nums.size()==1)return 0;
        int wide = nums[0];
        int step = 0;
        int end = 0;//记录上一次最远的位置,当i=end时,说明需要进行跳跃了
        for(int i = 0;i<nums.size()-1;i++){
            wide = max(i+nums[i],wide);
            if(i==end){
                end = wide;
                step++;
            }
        }
        return step;
    }
};
posted @ 2025-02-05 16:45  huigugu  阅读(11)  评论(0)    收藏  举报