异或
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param array int整型一维数组
* @return int整型一维数组
*/
func FindNumsAppearOnce( array []int ) []int {
// write code here
l:=len(array)
if l < 2 {
return nil
}
xor := 0
for _, x := range array {
xor ^= x
}
n := 1
for i:=0; i<64; i++{
if (xor & (n<<i)) > 0 {
n <<= i
break
}
}
tmp := xor
for _, x := range array {
if x & n > 0 {
xor ^= x
}
}
n1 := xor
n2 := tmp ^ xor
if n1 > n2 {
return []int{n2, n1}
}
return []int{n1, n2}
}
京公网安备 11010502036488号