56-数组中数字出现的次数
题目:一个整型数组里除两个数字之外,其他数字都出现了两次。请找出这两个只出现一次的数字。时间复杂度O(n),空间复杂度O(1)。本题代码部分是简化版,只有一个数字出现了一次,其他都是两次。
def find_appear(arrys): res = 0 for arry in arrys: res^=arry return res
注:使用异或运算。运用异或的特点:一个数和0异或还是它本身;一个数和自己异或为0。有两个出现一次的问题,需要先将原数组进行分成两部分分别处理,每一部分只有一个只出现一次的数。