LeetCode/go/maximum-count-of-positive-integer-and-negative-integer.go

23 lines
413 B
Go

package main
import (
"cmp"
"slices"
)
func maximumCount(nums []int) int {
makeComparator := func(override int) func(int, int) int {
return func(e, t int) int {
if e == t {
return override
}
return cmp.Compare(e, t)
}
}
left, _ := slices.BinarySearchFunc(nums, 0, makeComparator(1))
right, _ := slices.BinarySearchFunc(nums, 0, makeComparator(-1))
return max(left, len(nums)-right)
}