如何快速找出一个数组中只出现一次的两个数,其他元素出现两次?保证时间复杂度O(n),空间复杂度O(1)
如何快速找出一个数组中只出现一次的两个数,其他元素出现两次?保证时间复杂度O(n),空间复杂度O(1)分析步骤:1、对数组中所有元素求异或,得到结果result。那么由于这个数组中有两个数只出现一次,而其他元素出现两次,所以result的结果一定不为零2、找出result中任意不为零的位,保存位的下标,记作index3、将数组分为第index位为零和不为零两组,分别对这两组进行异或运算,即可得到数组中只出现一次的两个数
原创
2017-09-29 21:51:16 ·
1760 阅读 ·
0 评论