Files
LeetCode-Go/Algorithms/0209. Minimum Size Subarray Sum/209. Minimum Size Subarray Sum.go
2019-08-10 14:50:03 +08:00

28 lines
344 B
Go

package leetcode
func minSubArrayLen(s int, nums []int) int {
n := len(nums)
if n == 0 {
return 0
}
l, r := 0, -1
res := n + 1
sum := 0
for l < n {
if (r+1) < n && sum < s {
r++
sum += nums[r]
} else {
sum -= nums[l]
l++
}
if sum >= s {
res = min(res, r-l+1)
}
}
if res == n+1 {
return 0
}
return res
}