【发布时间】:2014-03-24 19:46:56
【问题描述】:
我在一次采访中被问到这个问题。显然,我能够在 O(n) 时间内完成,但我没有想到一种在 O(logn) 中解决的方法。听起来像是在使用一些分而治之的算法,但我不确定。
【问题讨论】:
-
你能提供你在 O(n) 中是怎么做的吗?你在两者之间来回跳跃?
-
坦率地说,我看不出它怎么会小于 O(k):您比较两个数组的最后一个元素,并减少与两个项目中最大的数组关联的索引.这样做 k 次,你就有了第 k 个最大的元素。