27 lines
469 B
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
|