add new solutions
This commit is contained in:
parent
0f5f9e331c
commit
a7ff717b7a
7 changed files with 221 additions and 0 deletions
22
solutions/9/q918/solution.go
Normal file
22
solutions/9/q918/solution.go
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
package q918
|
||||
|
||||
func maxSubarraySumCircular(nums []int) int {
|
||||
maxSum, minSum, maxPfx, minPfx := nums[0], nums[0], 0, 0
|
||||
|
||||
sum := 0
|
||||
for _, num := range nums {
|
||||
sum += num
|
||||
maxSum = max(maxSum, sum-minPfx)
|
||||
minSum = min(minSum, sum-maxPfx)
|
||||
|
||||
maxPfx = max(maxPfx, sum)
|
||||
minPfx = min(minPfx, sum)
|
||||
}
|
||||
|
||||
if sum == minSum {
|
||||
return maxSum
|
||||
}
|
||||
return max(maxSum, sum-minSum)
|
||||
}
|
||||
|
||||
var _ = maxSubarraySumCircular
|
||||
Loading…
Add table
Add a link
Reference in a new issue