add new solutions
This commit is contained in:
parent
9c2c959a9b
commit
9a10695e8c
29 changed files with 1074 additions and 2 deletions
40
solutions/19/q1975/solution.go
Normal file
40
solutions/19/q1975/solution.go
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
package q1975
|
||||
|
||||
import "math"
|
||||
|
||||
func abs(i int) int {
|
||||
if i < 0 {
|
||||
return -i
|
||||
}
|
||||
return i
|
||||
}
|
||||
|
||||
func maxMatrixSum(matrix [][]int) int64 {
|
||||
var sum int64
|
||||
min_ := math.MaxInt
|
||||
hasZero := false
|
||||
nNeg := 0
|
||||
|
||||
for i := range matrix {
|
||||
for _, num := range matrix[i] {
|
||||
if num < 0 {
|
||||
nNeg++
|
||||
}
|
||||
if num == 0 {
|
||||
hasZero = true
|
||||
}
|
||||
num = abs(num)
|
||||
sum += int64(num)
|
||||
if num < min_ {
|
||||
min_ = num
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if hasZero || nNeg%2 == 0 {
|
||||
return sum
|
||||
}
|
||||
return sum - 2*int64(min_)
|
||||
}
|
||||
|
||||
var _ = maxMatrixSum
|
||||
Loading…
Add table
Add a link
Reference in a new issue