fix/209: clean up redundant code

This commit is contained in:
novahe
2021-06-04 00:37:02 +08:00
parent 9e357544d1
commit 2104d8f332
2 changed files with 21 additions and 30 deletions

View File

@ -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

View File

@ -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
}
``` ```