输入n个整数,输出其中最小的k个。
例如输入1,2,3,4,5,6,7和8这8个数字,
例如输入1,2,3,4,5,6,7和8这8个数字,
则最小的4个数字为1,2,3和4。
solution:采用最有k个元素的大顶堆来实现,先请列表的前k个元素调整为大顶堆,然后依次插入其余n-k个元素,最后前k个元素即为最小的n个元素。
则最小的4个数字为1,2,3和4。
solution:采用最有k个元素的大顶堆来实现,先请列表的前k个元素调整为大顶堆,然后依次插入其余n-k个元素,最后前k个元素即为最小的n个元素。