求解数组中唯二的两个数字

  • 一个数组中,存在两个只出现一次的数字,其余的数字均出现两次,求这两个数字是多少

    #求解步骤:
    #假设两个数分别是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]