
Leetcode Problem 209: Minimum Size Subarray Sum
Given an array of positive integers nums and a positive integer target, return the minimal length of a contiguous subarray whose sum is greater than or equal to target. If no such subarray exists, return 0.
Constraints:
function minSubArrayLen(target: number, nums: number[]): number {
let prefixSum = 0;
let startSubarray = 0
let minSubarraySize = nums.length + 1
for (let i = 0; i < nums.length; i++) {
prefixSum = prefixSum + nums[i]
while (prefixSum >= target) {
minSubarraySize = Math.min(minSubarraySize, i - startSubarray + 1)
prefixSum = prefixSum - nums[startSubarray]
startSubarray++
}
}
if (minSubarraySize === nums.length + 1) {
return 0
}
return minSubarraySize
};
console.log(minSubArrayLen(7, [2,3,1,2,4,3]))