自学内容网 自学内容网

滑动窗口代码实现

在这里插入图片描述


    public int minSubArrayLen(int target, int[] nums) {
        int len = nums.length;
        int res = len + 1;//最大是len,如果最后res结果还是n+1说明没有答案返回0
        int sum=0;
        int left=0;
        for(int right=0; right<len; right++){
            sum+=nums[right];
            while(sum>=target){//不需要判断right>=left,nums数组和target都是正整数
                res = Integer.min(res,right-left+1);
                sum-=nums[left];
                left+=1;
            }
        }
        return res>len?0:res;
    }

思路:right没有满足条件就移动,满足条件后left移动、
时间复杂度O(n)


原文地址:https://blog.csdn.net/weixin_54174344/article/details/140858537

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