NO29、最小的K个数(应该记住大顶堆和小顶堆的区别与联系,并不难)

29、最小的K个数 应该记住大顶堆和小顶堆的区别与联系,并不难

输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。

示例1
输入

[4,5,1,6,2,7,3,8],4

返回值

[1,2,3,4]
1、优先队列来做,用小顶堆来做

priority_queue<int,vector<int>,greater<int>></int></int>

vector<int> GetLeastNumbers_Solution(vector<int> input, int k

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

带你刷完67道剑指offer 文章被收录于专栏

- 本专栏汇集了67道剑指offer的一些精妙解法,不少题有5-6种解法之多,有些题目二刷三刷的解法也不一样。 - 本专栏帮助我拿到6个互联网大厂offer,最终圆梦字节跳动公司。

全部评论
解法的分析中有笔误,应该改为小顶堆(greater<int>)。大顶堆(less<int>)需要加一些逻辑,代码写起来更长。</int></int>
点赞 回复 分享
发布于 2021-01-24 16:50

相关推荐

02-05 08:18
四川大学 Java
在思考的熊熊很讨厌吃香菜:不是,我门头沟学院呢?这都没排上?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务