lc-go/solutions/2/q209/solution.go

27 lines
469 B
Go

// Package q209 implements a solution for https://leetcode.com/problems/minimum-size-subarray-sum/
package q209
import "math"
func minSubArrayLen(target int, nums []int) int {
minLen := math.MaxInt
l, sum := 0, 0
for r := range nums {
sum += nums[r]
for l < r && sum-nums[l] >= target {
sum -= nums[l]
l++
}
if sum >= target {
minLen = min(minLen, r-l+1)
}
}
if minLen == math.MaxInt {
return 0
}
return minLen
}
var _ = minSubArrayLen