28 lines
397 B
Go
28 lines
397 B
Go
package q3354
|
|
|
|
func countValidSelections(nums []int) int {
|
|
sumR := 0
|
|
for i := range nums {
|
|
sumR += nums[i]
|
|
}
|
|
|
|
sumL := 0
|
|
nValid := 0
|
|
for i := range nums {
|
|
sumR -= nums[i]
|
|
if i > 0 {
|
|
sumL += nums[i-1]
|
|
}
|
|
if nums[i] == 0 {
|
|
diff := sumL - sumR
|
|
if diff == 0 {
|
|
nValid += 2
|
|
} else if diff*diff == 1 {
|
|
nValid++
|
|
}
|
|
}
|
|
}
|
|
return nValid
|
|
}
|
|
|
|
var _ = countValidSelections
|