可能重复:
Number of tuples
给定N个数a[1..N]
和其他2个整数L和H,我们必须计算(i,j,k)
个元组的数量L <= a[i] + a[j] + a[k] <= H
。
这可以比O(n^3)
更好吗?
有什么建议/算法吗?
答案 0 :(得分:0)
首先将[i]排序为增加订单。
枚举a [i]和[j],这样你就可以用binary search来找出[k]满足L - (a [i] + a [j])&lt; = a [ k]&lt; = H - (a [i] + a [j])。
整个算法费用O(n^2*log(n))