美文网首页
剑指offer 面试题30:最小的k个数

剑指offer 面试题30:最小的k个数

作者: qmss | 来源:发表于2016-06-26 22:40 被阅读0次

题目:
输入n个整数,找出其中最小的k个数。

解法:
top K问题。
如果n不大,可以一次性载入内存,则用一个数组保存,然后进行多次partition()即可

如果n很大,无法一次性载入内存,则构建一个大顶堆(根结点比所有子结点都大),依次读入n个数,并分别与堆顶元素做比较,如果比堆顶元素大,直接丢弃;如果比堆顶元素小,则替换堆顶元素。最后,堆的元素即为所求。

相关文章

网友评论

      本文标题:剑指offer 面试题30:最小的k个数

      本文链接:https://www.haomeiwen.com/subject/lukzdttx.html