思路:
滑动窗口
- 首先left=0,right=0,累加nums[right],
- 若累加值count大于target,移动left, count -= nums[left++]
否则则继续移动right。
let target = 7, nums = [2, 3, 1, 2, 4, 3]
var minSubArrayLen = function (target, nums) {
let left = right = count = 0, len = nums.length, res = len + 1//子串长度不可能超过nums
while (right < nums.length) {
count += nums[right++]
while (count >= target) {
res = res < right - left ? res : right - left;
count -= nums[left++]
}
}
return res > len ? 0 : res;
};
console.log(minSubArrayLen(target, nums));
二分法
。。。。。