求解数组中唯二的两个数字
一个数组中,存在两个只出现一次的数字,其余的数字均出现两次,求这两个数字是多少
#求解步骤: #假设两个数分别是a, b c = arr[0] xor arr[1] xor arr[2] xor ... xor arr[n] #获取c的二进制表示中1的最低一位,根据此位将原数组划分为两个数组,此时a,b分别在两个数组arr1, arr2中 a = arr1[0] xor ... xor arr1[n1] b = arr2[-] xor ... xor arr2[n2]
一个数组中,存在两个只出现一次的数字,其余的数字均出现两次,求这两个数字是多少
#求解步骤:
#假设两个数分别是a, b
c = arr[0] xor arr[1] xor arr[2] xor ... xor arr[n]
#获取c的二进制表示中1的最低一位,根据此位将原数组划分为两个数组,此时a,b分别在两个数组arr1, arr2中
a = arr1[0] xor ... xor arr1[n1]
b = arr2[-] xor ... xor arr2[n2]