一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)
对于这个题目:
异或的性质:对于整数a,有
(1) a^a=0
(2)a^0=a
(2)a^b^c=a^(b^c)=(a^c)^b
思路:
1、思路: (1)对于出现两次的元素,使用“异或”操作后结果肯定为0,那么我们就可以遍历一遍数组,对所有元素使用异或操作,那么得到的结果就是两个出现一次的元素的异或结果。 (2)因为这两个元素不相等,所以异或的结果...
原创
2020-06-17 16:18:51 ·
399 阅读 ·
0 评论