剑指offer·之30:最小的K个数

题目: 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。算法 分析: 利用堆排序,O(N logK),适合处理海量数据数组 (1) 遍历输入数组,将前k个数插入到推中;(利用multiset来作为堆的实现)code 用前k个数字来创建大顶堆,然后拿后面的后面的n-k个元素依次与大顶堆中的最大值(即堆顶)元素比较,排序 (2)
相关文章
相关标签/搜索