题解 | 在其它数出现次数都为偶数的数组中找到出现次数为奇数次的数

在其它数出现次数都为偶数的数组中找到出现次数为奇数次的数

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
}

全部评论

相关推荐

01-08 12:01
门头沟学院 Java
冰炸橙汁_不做oj版:不接好运
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务