给定一个排序的整数数组,我们可以在O(n ^ 2)中构建所有对的总和的排序数组吗?
一个简单的解决方案是在O(n ^ 2)中构建和数组,然后在O(n ^ 2(log(n ^ 2))= O(n ^ 2 logn)时间内对其进行排序。
另一个解决方案是在O(n ^ 2)中构建n个排序的n个数组 - 在O(n ^ 2 logn)时间内合并它们(例如,参见here)。
我们可以做得更好吗?
答案 0 :(得分:8)
这是一个在文献中称为Sorting X + Y的开放性问题。已知的最佳结果是由于Lambert和Steiger--Streinu而使用O(n ^ 2)比较的O(n ^ 2 log n)时间算法。