209.滑动窗口,求最短连续子数组,和sum>=num



思想:
left,right指定一个数组长度



值小于s,就让right++,sum=sum+arr[right],扩大窗口,直到大于s,找到满足题意的,记录下来

值大于s,sum=sum-left,left++,缩小窗口,直到小于s,执行上一步。找到满足题意的,记录下来


class Solution {
    public int minSubArrayLen(int s, int[] nums) {
        //滑动窗口的思想
        //一开始窗口里面没有值的[left,right]闭空间
        int left=0,right=-1;
        int sum=0;
        int res=nums.length+1;
        while(left=s)
                res=Math.min(res,right-left+1);
        }
        //表示没找到
        if(res==nums.length+1)
            return 0;
        return res;
            
    }
}

你可能感兴趣的:(209.滑动窗口,求最短连续子数组,和sum>=num)