给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现偶数次。找出那个只出现了一次的元素。
Posted forgo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现偶数次。找出那个只出现了一次的元素。相关的知识,希望对你有一定的参考价值。
如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
按位异或的3个特点:
(1) 0^0=0,0^1=1 0异或任何数=任何数
(2) 1^0=1,1^1=0 1异或任何数-任何数取反
(3) 任何数异或自己=把自己置0
如果是一个偶数^1,那么答案是偶数+1.如果是一个奇数^1,那么答案是奇数-1
func main() {
var as = []int {2,2,3,5,5}
b := 0
for _,c :=range as {
b = b ^c
}
fmt.Println(b)
}
println:3
以上是关于给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现偶数次。找出那个只出现了一次的元素。的主要内容,如果未能解决你的问题,请参考以下文章