12345678910111213141516 |
- func minSubArrayLen(s int, nums []int) int {
- sum, minLen := 0, len(nums)
- for slow, fast := 0, 0; fast < len(nums); fast++ {
- sum += nums[fast]
- for ; s <= sum-nums[slow] && slow < fast; slow++ {
- sum -= nums[slow]
- }
- if s <= sum && fast-slow < minLen {
- minLen = fast - slow + 1
- }
- }
- if s <= sum {
- return minLen
- }
- return 0
- }
|