【发布时间】:2014-08-12 16:17:15
【问题描述】:
给定两个未排序的 int 数组,找到合并后的排序数组中的第 k 个元素。 例子: 整数 [] a= [3 1 7] 整数 [] b = [4 9] 克:3 返回 4(非零基索引)
请不要提供合并两个数组并排序并找到第 N 个元素的直接解决方案。我正在寻找更有效的解决方案,即使用堆、快速排序。并确保数组未排序。
P.S:我知道上面有很多类似的问题张贴在 SO 但我找不到任何正确的实施方式。
【问题讨论】:
-
也可以考虑在programmers.stackexchange.com 中提问。
-
假设一个零索引数组。你的合并数组是
1 3 4 7 9,所以如果k=3,那么你应该返回7而不是4。对吧? -
是的,你是对的,让我们将其视为非基于零的索引。
标签: arrays sorting data-structures