问题:给定两个大小为 n 的排序数组 A[] 和 B[],检查它们是否有非空交集(我不需要交集本身,只需要决定)
解决方案:在 B[] 中对 A[] 的每个元素进行二进制排序会得到 O(n lg n) 的解决方案。从头到尾迭代每个数组(做一些与 Mergesort 中的 Merge 非常相似的事情)给出 O(n) 解决方案。
我想知道是否有更好的(就复杂性而言)解决方案。我很确定没有,但我一直在寻找“嘿,如果你给我一个更好的解决方案,我可以在 o(n lg n) 中对向量进行排序,这是不可能的”--kind-of-argument