【发布时间】:2016-05-10 16:04:32
【问题描述】:
从给定的 2 个数组中查找缺失的元素,第二个数组是重复的。
示例: 数组 1:[1,2,3,4,5,6,7] 数组 2:[1,3,4,5,6,7]
我阅读了有关使用哈希图和其他复杂方法的信息,但我认为最好的解决方案是:
1) 将array1和array2的所有元素分别相加,得到sum1和sum2,则答案是|sum2 - sum1|
2) 对array1 和array2 的所有元素分别进行异或运算,得到xor1 和xor2。这里 xor1 总是来自完整的数组。缺少的元素将是 xor2 XOR xor1(来自 XOR 应用程序http://www.codeproject.com/Articles/2983/XOR-tricks-for-RAID-data-protection)
编辑:数组未排序
我说的对吗?
【问题讨论】:
-
数组总是排序的?
-
数组总是包含整数吗?
-
@Joni 是的,总是整数
-
I believe the best solution is;Am I correct?没有质量衡量标准/best,我看不出有什么办法。然后,我认为您不需要查看您的方法所做的 O(n) 元素。 (哦,请说明第二个数组中的元素是否与第一个数组中的元素顺序相同。) -
@greybeard 的顺序不同。如果没有 O(n),你会怎么做?
标签: algorithm