Skip to content

Commit 4d88d22

Browse files
committed
refactor: remove inner while-loop in lc problem: No.209
1 parent e323d06 commit 4d88d22

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

solution/0200-0299/0209.Minimum Size Subarray Sum/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -361,14 +361,14 @@ func minSubArrayLen(target int, nums []int) int {
361361
```ts
362362
function minSubArrayLen(target: number, nums: number[]): number {
363363
const n = nums.length;
364-
let s = 0;
364+
let s = nums[0];
365365
let ans = n + 1;
366-
for (let i = 0, j = 0; i < n; ++i) {
367-
s += nums[i];
368-
while (s >= target) {
366+
for (let i = 0, j = 0; i < n; ) {
367+
if (s >= target) {
369368
ans = Math.min(ans, i - j + 1);
370369
s -= nums[j++];
371370
}
371+
if (s < target) s += nums[++i];
372372
}
373373
return ans === n + 1 ? 0 : ans;
374374
}

solution/0200-0299/0209.Minimum Size Subarray Sum/README_EN.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -352,14 +352,14 @@ func minSubArrayLen(target int, nums []int) int {
352352
```ts
353353
function minSubArrayLen(target: number, nums: number[]): number {
354354
const n = nums.length;
355-
let s = 0;
355+
let s = nums[0];
356356
let ans = n + 1;
357-
for (let i = 0, j = 0; i < n; ++i) {
358-
s += nums[i];
359-
while (s >= target) {
357+
for (let i = 0, j = 0; i < n; ) {
358+
if (s >= target) {
360359
ans = Math.min(ans, i - j + 1);
361360
s -= nums[j++];
362361
}
362+
if (s < target) s += nums[++i];
363363
}
364364
return ans === n + 1 ? 0 : ans;
365365
}
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
function minSubArrayLen(target: number, nums: number[]): number {
22
const n = nums.length;
3-
let s = 0;
3+
let s = nums[0];
44
let ans = n + 1;
5-
for (let i = 0, j = 0; i < n; ++i) {
6-
s += nums[i];
7-
while (s >= target) {
5+
for (let i = 0, j = 0; i < n; ) {
6+
if (s >= target) {
87
ans = Math.min(ans, i - j + 1);
98
s -= nums[j++];
109
}
10+
if (s < target) s += nums[++i];
1111
}
1212
return ans === n + 1 ? 0 : ans;
1313
}

0 commit comments

Comments
 (0)