209. Minimum Size Subarray Sum

    /*
     * 209. Minimum Size Subarray Sum 
     * 2016-6-9 by Mingyang
     * 这个题目的算法就是n,很简单就是两个pointer,一个左一个右,然后利用达到sum以后左边移动就好了
     * 该用两个while的时候就要用两个while,不要犹豫
     */
    public int minSubArrayLen(int s, int[] a) {
        if (a == null || a.length == 0)
            return 0;
        int i = 0, j = 0, sum = 0, min = Integer.MAX_VALUE;
        while (j < a.length) {
            sum += a[j++];
            while (sum >= s) {
                min = Math.min(min, j - i);
                sum -= a[i++];
            }
        }
        return min == Integer.MAX_VALUE ? 0 : min;
    }
原文地址:https://www.cnblogs.com/zmyvszk/p/5573425.html