题解 | 在其它数出现次数都为偶数的数组中找到出现次数为奇数次的数
在其它数出现次数都为偶数的数组中找到出现次数为奇数次的数
https://www.nowcoder.com/practice/d0ef3e33e63a49dd99c90aeef306b0fc
package main
import (
"fmt"
)
func main() {
num := 0
for {
n, _ := fmt.Scan(&num)
if n == 0 {
break
} else {
arr := make([]int, num)
for i := 0; i < len(arr); i++ {
fmt.Scan(&arr[i])
}
fmt.Println(process(arr))
}
}
}
// 异或操作,相同为0,不同为1
// 0^n = n
// 0^1 = 1, 0^0 = 0, 1^1=0
func process(arr []int) int {
// 其它数出现偶次,其它数自己和自己xor=0
// 剩下的数位出现一次的奇数
xor := 0
for i := 0; i < len(arr); i++ {
xor ^= arr[i]
}
return xor
}

查看2道真题和解析