Given an array of n positive integers and a positive integer s, find the minimal length of a contiguous subarray of which the sum ≥ s. If there isn’t one, return 0 instead.
For example, given the array [2,3,1,2,4,3] and s = 7, the subarray [4,3] has the minimal length under the problem constraint.
classSolution{ publicintminSubArrayLen(int s, int[] nums){ int i=0; int j=0; int n = nums.length-1; int sum = 0; int ans = Integer.MAX_VALUE; while(i<=n && j<=n && i<=j){ if(sum < s){ sum += nums[j]; j++; } while(sum >=s){ ans = Math.min(j-i, ans); sum -= nums[i]; i++; } } return ans == Integer.MAX_VALUE? 0: ans; } }