Skip to content

Commit 295504e

Browse files
authored
Merge pull request halfrost#145 from novahe/fix/209
fix/209: clean up redundant code
2 parents cc78fdd + 2104d8f commit 295504e

File tree

2 files changed

+21
-30
lines changed

2 files changed

+21
-30
lines changed

leetcode/0209.Minimum-Size-Subarray-Sum/209. Minimum Size Subarray Sum.go

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,16 @@
11
package leetcode
22

3-
func minSubArrayLen(s int, nums []int) int {
4-
n := len(nums)
5-
if n == 0 {
6-
return 0
7-
}
8-
left, right, res, sum := 0, -1, n+1, 0
9-
for left < n {
10-
if (right+1) < n && sum < s {
11-
right++
12-
sum += nums[right]
13-
} else {
3+
func minSubArrayLen(target int, nums []int) int {
4+
left, sum, res := 0, 0, len(nums)+1
5+
for right, v := range nums {
6+
sum += v
7+
for sum >= target {
8+
res = min(res, right-left+1)
149
sum -= nums[left]
1510
left++
1611
}
17-
if sum >= s {
18-
res = min(res, right-left+1)
19-
}
2012
}
21-
if res == n+1 {
13+
if res == len(nums)+1 {
2214
return 0
2315
}
2416
return res

website/content/ChapterFour/0200~0299/0209.Minimum-Size-Subarray-Sum.md

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,30 +34,29 @@ If you have figured out the O(n) solution, try coding another solution of which
3434

3535
package leetcode
3636

37-
func minSubArrayLen(s int, nums []int) int {
38-
n := len(nums)
39-
if n == 0 {
40-
return 0
41-
}
42-
left, right, res, sum := 0, -1, n+1, 0
43-
for left < n {
44-
if (right+1) < n && sum < s {
45-
right++
46-
sum += nums[right]
47-
} else {
37+
func minSubArrayLen(target int, nums []int) int {
38+
left, sum, res := 0, 0, len(nums)+1
39+
for right, v := range nums {
40+
sum += v
41+
for sum >= target {
42+
res = min(res, right-left+1)
4843
sum -= nums[left]
4944
left++
5045
}
51-
if sum >= s {
52-
res = min(res, right-left+1)
53-
}
5446
}
55-
if res == n+1 {
47+
if res == len(nums)+1 {
5648
return 0
5749
}
5850
return res
5951
}
6052

53+
func min(a int, b int) int {
54+
if a > b {
55+
return b
56+
}
57+
return a
58+
}
59+
6160
```
6261

6362

0 commit comments

Comments
 (0)