假设给定一个数组其中包含非负整数(不一定是唯一的)。
令为升序排列。我们要计算
显而易见的解决方案是对A进行排序,然后计算。这给出了在最坏情况下在时间O(n \ lg n)上运行的算法。
有可能做得更好吗?我们可以计算的线性时间?
我的主要问题是上述问题。但是,了解该问题的以下概括将很有趣。
令为根据oracle \ leq的比较排序 ,为oracle提供的函数。给定\ leq和f的和oracles,对于计算m = \ max_ {i \ in [n]} f(B [i],i)所需的时间,我们能说什么?
我们仍然可以在O(n \ lg n)时间中计算m。但是我们可以证明这种广义情况下的超线性下界吗?
如果答案是肯定的,那么如果我们假设是整数的通常顺序并且是“ nice”函数(单调,多项式,线性等),那么下界是否成立?