自学内容网 自学内容网

leecode45.跳跃游戏||

 跟正常的跳跃游戏差不多,每次都记录下一次可跳跃的最大距离,当前i值达到当前最大可跳跃距离时就继承下一次可跳跃最大距离,这个时候再将步数+1

总体的贪心策略就是每次都在当前可跳跃范围内选择一个下一次可以覆盖更广的点进行跳跃

class Solution {
public:
    int jump(vector<int>& nums) {
        int result=0;
        int curCover=0,nextCover=0;
        //循环到size-1是为了通过用例【0】
        for(int i=0;i<nums.size()-1;i++){
            nextCover=max(i+nums[i],nextCover);
            if(i==curCover){
                curCover=nextCover;
                result++;
                if(curCover>=nums.size()-1)
                    break;
            }
        }
        return result;
    }
};


原文地址:https://blog.csdn.net/weixin_74175349/article/details/143977125

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!