Given an array of positive integers nums and a positive integer target, return the minimal length of a subarray whose sum is greater than or equal to target. If there is no such subarray, return 0 instead.
Example 1
Input: target = 7, nums = [2,3,1,2,4,3]
Output: 2
Explanation: The subarray [4,3] sums to 7, which meets the target with only 2 elements. No single element reaches 7.
Example 2
Input: target = 4, nums = [1,4,4]
Output: 1
Explanation: The single element 4 already meets the target 4, so the minimal length is 1.
Example 3
Input: target = 11, nums = [1,1,1,1,1,1,1,1]
Output: 0
Explanation: The whole array only adds up to 8, which is less than 11, so no subarray works and the answer is 0.
Grow a window on the right to add sum; the moment the sum reaches target, shrink from the left as far as possible while still meeting target, recording the smallest width seen. Because all numbers are positive, expanding always increases the sum and shrinking always decreases it.
Run checks all cases above. Submit evaluates all test cases.