//思路: 滑动窗口
//指针 [left,right] 记录连续子数组的区间,并记录区间和 sum
//if sum < target; right ++ ;sum += nums[right]
//if sum >= target; 更新最小长度 minLen; sum -= nums[left]; left++
代码
funcminSubArrayLen(target int, nums []int)int{//思路: 滑动窗口//指针 [left,right] 记录连续子数组的区间,并记录区间和 sum//if sum < target; right ++ ;sum += nums[right]//if sum >= target; 更新最小长度 minLen; sum -= nums[left]; left++//参数处理iflen(nums)==0|| target <=0{return-1}//滑动窗口
minLen :=0
left,right,sum :=0,0,nums[0]for left <= right{if sum < target {
right ++//这里会有指针溢出 todoif right ==len(nums){return minLen
}
sum += nums[right]}else{//更新最小长度
tempLen := right - left +1if tempLen < minLen || minLen ==0{
minLen = tempLen
}
sum -= nums[left]
left ++}}return minLen
}