funcmin(a, b int)int { if a <= b { return a } return b } funcminSubArrayLen(target int, nums []int)int { left, right := 0, 0 var sum int var ret int = len(nums) + 1 for left < len(nums) { sum += nums[right] // fmt.Printf("sum: %v\n", sum) if sum < target { right++ if right >= len(nums) { left++ right = left sum = 0 } } else { ret = min(ret, right-left+1) // fmt.Printf("ret: %v\n", ret) left++ right = left sum = 0 } } if ret == len(nums) + 1 { return0 } return ret }