【发布时间】:2012-02-25 06:20:06
【问题描述】:
您有一个包含 n=2k+2 个元素的数组,其中 2 个元素没有配对。 8 个元素数组的示例:1 2 3 47 3 1 2 0。“47”和“0”在数组中没有配对。如果我有一个只有 1 个元素没有配对的数组,我用 XOR 解决这个问题。但我有 2 个未配对元素!我能做些什么?解决方案可能是 O(n) 时间性能和 O(1) 额外内存。
【问题讨论】:
-
既然所有元素都是成对的,那是否意味着剩下的两个必须成对。你能详细说明一下你的描述吗?
-
我在所有数组中只有 2 个未配对的元素,我需要找到它。
-
您在寻找 O(n) 解决方案吗?排序很容易,得到 O(n*log(n))。
-
元素的界限是什么?整数?我认为它可以线性完成,但有一些记忆(鸽子洞)
-
是的,解决方案可能是 O(n) 时间性能和 O(1) 额外内存。让元素是整数
标签: c algorithm discrete-mathematics array-algorithms