jz offer-排序-最小的k个数
最小的k个数
题目:
给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组
示例:
输入:
[4,5,1,6,2,7,3,8],4
返回值:
[1,2,3,4]
方法一:
使用“大根堆”完成n个整数中最小的k个数的查找
创建一个大小为k的数组,遍历n个整数,如果遍历到的数小于大小为k的数组的最大值,则将此数与其最大值替换。
由于每次都要拿n个整数和数组中的最大值比较,所以选择大根堆这一
原创
2021-06-21 21:54:59 ·
88 阅读 ·
0 评论