题目:输入M个数,从中找到K个最小的数
比如输入10,-9,0,100,90,1,4,-9;找到最小的3个数为:-9,-9,0
1这道题最坏的办法是对M个数进行排序,排序算法最好的时间复杂度是o(mlogm...)
2 第二种办法,是对其中的K个数进行排序,时间复杂度是o(m*k*logk),这要对比m和k*logk的大小,看哪个办法更优
3 对于第二种方法的一个优化是,不需要对K个数进行排序,只需要要到这K个数中最大的数...,整体的时间复杂度是o(m*logk)。...= [10,-9,0,100,90,1,4,-9]
k = 7
heap = []
len_m = len(m)
#对异常输入做返回
if k len_m:
print None
#如果长度相当直接返回
else:
if k==len_m:
print