mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-05 00:25:22 +08:00
fix/209: clean up redundant code
This commit is contained in:
@ -1,24 +1,16 @@
|
|||||||
package leetcode
|
package leetcode
|
||||||
|
|
||||||
func minSubArrayLen(s int, nums []int) int {
|
func minSubArrayLen(target int, nums []int) int {
|
||||||
n := len(nums)
|
left, sum, res := 0, 0, len(nums)+1
|
||||||
if n == 0 {
|
for right, v := range nums {
|
||||||
return 0
|
sum += v
|
||||||
}
|
for sum >= target {
|
||||||
left, right, res, sum := 0, -1, n+1, 0
|
res = min(res, right-left+1)
|
||||||
for left < n {
|
|
||||||
if (right+1) < n && sum < s {
|
|
||||||
right++
|
|
||||||
sum += nums[right]
|
|
||||||
} else {
|
|
||||||
sum -= nums[left]
|
sum -= nums[left]
|
||||||
left++
|
left++
|
||||||
}
|
}
|
||||||
if sum >= s {
|
|
||||||
res = min(res, right-left+1)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if res == n+1 {
|
if res == len(nums)+1 {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
return res
|
return res
|
||||||
|
@ -34,30 +34,29 @@ If you have figured out the O(n) solution, try coding another solution of which
|
|||||||
|
|
||||||
package leetcode
|
package leetcode
|
||||||
|
|
||||||
func minSubArrayLen(s int, nums []int) int {
|
func minSubArrayLen(target int, nums []int) int {
|
||||||
n := len(nums)
|
left, sum, res := 0, 0, len(nums)+1
|
||||||
if n == 0 {
|
for right, v := range nums {
|
||||||
return 0
|
sum += v
|
||||||
}
|
for sum >= target {
|
||||||
left, right, res, sum := 0, -1, n+1, 0
|
res = min(res, right-left+1)
|
||||||
for left < n {
|
|
||||||
if (right+1) < n && sum < s {
|
|
||||||
right++
|
|
||||||
sum += nums[right]
|
|
||||||
} else {
|
|
||||||
sum -= nums[left]
|
sum -= nums[left]
|
||||||
left++
|
left++
|
||||||
}
|
}
|
||||||
if sum >= s {
|
|
||||||
res = min(res, right-left+1)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if res == n+1 {
|
if res == len(nums)+1 {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func min(a int, b int) int {
|
||||||
|
if a > b {
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
return a
|
||||||
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user