题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。 最容易想到的肯定是用一个容量为4的集合记录当前的最小4个数字,并且不断的维护。这个维护过程就是一个排序过程,因此本题可以复习一些排序方式。 这个集合可以用数组,堆以及其他数据结构。因为每次加入最小值时,都会替换出集合中的最大,所以用一个大根堆来维护,比较合适。当然也可以用一些其他的排序算法。所以第1个思路就是多种排序算法中任选一个,这里选择的堆排序。 第2个思路就是,借鉴快排partition()方法,将整个数组分成两部分,左边是最小的4个,右边是比较大的。时...