LeetCode——长度最小的子数组

public int minSubArrayLen(int s, int[] nums) {
        if( 0 == nums.length  || null == nums)
        {
            return 0;
        }
        int  l = 0 ;
        int r = 0;
        int result =  Integer.MAX_VALUE;
        int cur = nums[0];
        while(l < nums.length)
        {
            if(cur < s &&  r < nums.length -1)
            {
                r++;
                cur += nums[r];
            }
            else 
            {
                if(cur >= s ){
                    result = Math.min(result , r - l + 1);                   
                }
                cur -= nums[l];
                l++;

            }
        }
        return result == Integer.MAX_VALUE ? 0 : result;

    }

维护一个滑动窗口。

原文地址:https://www.cnblogs.com/swqblog/p/13267919.html