标签: arrays algorithm
我们有两个未排序的数组,每个数组的长度为n。这些数组包含随机整数。 如何在Θ(n*logn)时间内找到这两个数组是否有任何共同元素?
n
Θ(n*logn)
不允许排序。
答案 0 :(得分:0)
让 A 和 B 成为未排序的数组,长度为 n 。 您可以使用@amit建议的哈希表;但是,有一个更快的算法。 由于卡(A)=卡(B),快速交集算法是使用Bloom filter来存储集合,然后使用按位AND运算实现交集。这仍然需要 O(n),但对于隐含在渐近符号中的常量和低阶项,它是一个更好的结果。