lc-go/solutions/1/q137/solution.go
2026-01-07 18:04:39 +09:00

22 lines
362 B
Go

package q137
func singleNumber(nums []int) int {
bitCounts := make([]uint8, 32)
for _, num := range nums {
num32 := int32(num)
for i := range 32 {
if num32|1<<i == num32 {
bitCounts[i] = (bitCounts[i] + 1) % 3
}
}
}
var ret int32
for i := range 32 {
if bitCounts[i] != 0 {
ret |= 1 << i
}
}
return int(ret)
}
var _ = singleNumber