【发布时间】:2018-01-25 16:53:10
【问题描述】:
我正在接受采访。
采访者:你有一个数组,你必须在这个数组中找到 k 个最小的元素,你还必须高效吗?
例如:[2,1,4,5,0] 如果输入为 3,则输出为 0,1,2。
我:我将获取 k 个变量并遍历数组的每个元素,并将所有不同的 k 个最小值存储在 k 个不同的变量中。
采访者:如果你有数百万个数据,你必须找到 10000 个最小的变量怎么办?
ME:是的,获取 10000 个变量实际上是不可能的。因此,我将对数百万数据进行 10,000 次冒泡排序。
采访者:不,好的,下一个问题!
所以,我想知道找到 k 最小的正确方法是什么 数组中的数字,特别是当 k 是一个非常大的数字时?
【问题讨论】:
标签: arrays algorithm sorting data-structures