mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-10 04:06:51 +08:00
update 209.长度最小的子数组 javascript版本
This commit is contained in:
@ -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;
|
||||
};
|
||||
```
|
||||
|
||||
|
Reference in New Issue
Block a user