【发布时间】:2016-10-18 18:31:30
【问题描述】:
假设我们有一个由整数组成的未排序数组。我们还有 2 个给定的整数 L 和 M。我们的任务是计算所有具有以下属性的 (i,j) 对的数量: L
除了检查所有可能对的显而易见的蛮力算法(O(n^2) 复杂度),有没有更快的方法来解决这个问题?
【问题讨论】:
-
在最坏的情况下,您的输出大小本身是
O(n^2)。考虑数组[1,1,1,1,1,1...,1]和L=M=0。您需要输出所有对,这是二次的。也就是说,您可以在O(f(n) + m)中执行此操作,其中m是输出大小,f(n)是o(n^2)(此处为小符号),如果这有助于我可以尝试思考一些事情。