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