"Shortest Subarray with Sum at Least K" hard task No 862 solution failed time complexity

This commit is contained in:
2022-02-15 23:58:07 +02:00
parent 241061cd6d
commit 4b589f5272
2 changed files with 63 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
package main
func ShortestSubarray(nums []int, k int) int {
if len(nums) == 0 {
return -1
}
sz := 999999
sum := nums[0]
carry := 1
for i := 0; i < len(nums)-1; i++ {
if sum >= k {
if (carry > 0) && (sz > carry) {
sz = carry
}
}
sum = nums[i]
for j := i + 1; j < len(nums); j++ {
if sum >= k {
if sz > (j - i) {
sz = j - i
}
break
} else {
sum += nums[j]
carry = j - i + 1
}
}
}
if sz == 999999 {
if sum >= k {
return carry
}
return -1
}
if (sum >= k) && (carry > 0) && (carry < sz) {
return carry
}
return sz
}

File diff suppressed because one or more lines are too long