update 209.长度最小的子数组 javascript版本

This commit is contained in:
qingyi.liu
2021-05-20 15:22:05 +08:00
parent 8c5c5c03c6
commit 9a919464bf

View File

@ -175,19 +175,24 @@ Go
JavaScript: JavaScript:
```
var minSubArrayLen = (target, nums) => { ```js
let left = 0, right = 0,win = Infinity,sum = 0;
while(right < nums.length){ var minSubArrayLen = function(target, nums) {
sum += nums[right]; // 长度计算一次
const len = nums.length;
let l = r = sum = 0,
res = len + 1; // 子数组最大不会超过自身
while(r < len) {
sum += nums[r++];
// 窗口滑动
while(sum >= target) { while(sum >= target) {
win = right - left + 1 < win? right - left + 1 : win; // r始终为开区间 [l, r)
sum -= nums[left]; res = res < r - l ? res : r - l;
left++; sum-=nums[l++];
} }
right++;
} }
return win === Infinity? 0:win; return res > len ? 0 : res;
}; };
``` ```