Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,36 @@
|
|||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func gss(s []int) ([]int, int) {
|
||||
var best, start, end, sum, sumStart int
|
||||
for i, x := range s {
|
||||
sum += x
|
||||
switch {
|
||||
case sum > best:
|
||||
best = sum
|
||||
start = sumStart
|
||||
end = i + 1
|
||||
case sum < 0:
|
||||
sum = 0
|
||||
sumStart = i + 1
|
||||
}
|
||||
}
|
||||
return s[start:end], best
|
||||
}
|
||||
|
||||
var testCases = [][]int{
|
||||
{-1, -2, 3, 5, 6, -2, -1, 4, -4, 2, -1},
|
||||
{-1, 1, 2, -5, -6},
|
||||
{},
|
||||
{-1, -2, -1},
|
||||
}
|
||||
|
||||
func main() {
|
||||
for _, c := range testCases {
|
||||
fmt.Println("Input: ", c)
|
||||
subSeq, sum := gss(c)
|
||||
fmt.Println("Sub seq:", subSeq)
|
||||
fmt.Println("Sum: ", sum, "\n")
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue