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