refactor: 优化 0209.长度最小的子数组.md 的 Typescript 写法

This commit is contained in:
qiufeihong2018
2024-04-11 17:20:55 +08:00
parent f5fcd6273c
commit 6b8b526dbf

View File

@ -270,22 +270,21 @@ var minSubArrayLen = function(target, nums) {
```typescript ```typescript
function minSubArrayLen(target: number, nums: number[]): number { function minSubArrayLen(target: number, nums: number[]): number {
let left: number = 0, right: number = 0; let left: number = 0,
let res: number = nums.length + 1; res: number = Infinity,
let sum: number = 0; subLen: number = 0,
while (right < nums.length) { sum: number = 0;
for (let right: number = 0; right < nums.length; right++) {
sum += nums[right]; sum += nums[right];
if (sum >= target) { while (sum >= target) {
// 不断移动左指针,直到不能再缩小为止 subLen = right - left + 1;
while (sum - nums[left] >= target) { res = Math.min(res, subLen);
sum -= nums[left++]; sum -= nums[left];
left++;
} }
res = Math.min(res, right - left + 1);
} }
right++; return res === Infinity ? 0 : res;
} }
return res === nums.length + 1 ? 0 : res;
};
``` ```
### Swift: ### Swift: