元件总结我有两个阵列:算法在未排序的阵列
- 阵列甲 = [一个 ,一个 ,...,一个Ñ]未排序。
- 阵列乙 = [b ,b ,...,bķ]进行排序,并有许多少于甲元件(即: k«n)。
对于每个b我,我要计算的最大b总和i的阵列A.例如元素,如果
- A = [10,5,3,9,8,15,4,7,11,1,20,6]
- 乙 = [2,3,4,6,7]
然后我想要的2,3,4,6,和7最大元素之和在甲:
- [20 + 15,20 + 15 + 11,20 + 15 + 11 + 10,20 + 15 + 11 + 10 + 9 + 8,20 + 15 + 11 + 10 + 9 + 8 + 7]
- 是:[35,46,56,73,80]
我知道如何计算总和b个我为O最大元素(Ñ)时间,所以可以很容易地写出用于在O(NK)时间运行整个任务的算法;但我需要运行在O(n log k)时间的算法。
所以,我怎么能做到这一点的O(ñ日志ķ)的时间?
@ AD.Net。 。 。因为O(n log k)更快,而且通常是可取的。 –
@GordonLinoff,谢谢,明白了。 –