algorithm - 在一组 100 万个数字中找到一个唯一数字的有效算法是什么?

标签 algorithm data-structures

<分区>

我在面试中被问到这个问题。在一百万个数字中,除一个数字外,所有数字都有重复。如何找到那个号码?我应该使用哪种算法来获得良好的时间和空间复杂度?我有了使用 EXOR 门的想法,但我在部署它方面仍然落后。

最佳答案

使用xor对于所有数字顺序。

对于以下数字列表:

1, 2, 3, 4, 3, 2, 1

^表示异或(或xor)

然后,
1 ^ 2 ^ 3 ^ 4 ^ 3 ^ 2 ^ 1 = 4

关于algorithm - 在一组 100 万个数字中找到一个唯一数字的有效算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20945836/

相关文章:

java - 在此实例中保存数据的结构(Hashmap/ArrayList 等)?

arrays - 没有两个元素相邻的最大和

java - 检查字符串中是否存在字符集 - 改进

algorithm - 是否存在进行波前迭代器的有效方法? (与物理无关。)

c# - 将一层所有节点连接到下一层所有节点的算法

algorithm - 查找其中包含所需节点的强连接组件

algorithm - 是否总是可以通过树旋转将一个BST转换为另一个BST?

c - 在 C 中添加到链表的前面

java - 两人网格遍历游戏

java - TreeMap 之后的排序技术?