题目描述 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 题目分析 这题有两种方法来做. 第一种就是基于partition的方法,详见我的另一篇文章:基于快排思想查找第K大的数或第K小的数. 第二种就是利用一个长度为k的额外容器,来存储最小的K个数字.容器未满则填满,再添加数字是,将数字和容器的最大值比较,小的话就替换,大的话舍去. 这个容器要求可以直接得到最大值.能删除最大值,能添加值.那么很容易想到应该用最大堆当这个…