题目描述
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
使用最大堆实现,
1.构建大小为K的最大堆;
2.如果新元素小于当前最大堆的堆顶元素,则替换堆顶,调整最大堆;
3.题目要求按照从小到大顺序输出最小的K个数,所以最后需要利用最大堆排序K个值。
class Solution:
def GetLeastNumbers_Solution(self, tinput, k):
# write code here
if not tinput or k<=0 or k>len(tinput):
return []
for i in range(int