26 lines
370 B
Go
26 lines
370 B
Go
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
|