题目要求: 输入n个整数,输出其中最小的k个. 例如:输入1,2,3,4,5,6,7,8这8个数字,则最小的4个数字为1,2,3,4. 参考资料:剑指offer第30题. 题目分析: 解法一: 用快排的思想,但是最小的k个数不用排序,时间复杂度O(n). 优点:时间复杂度好,缺点:会修改原整数数组顺序. 解法二: 创建一个大小为k的最大堆,遍历一遍数组,同时不断修改最大堆.时间复杂度O(nlogk). 优点:不会修改原数组,适用于海量数据.缺点:比解法一时间复杂度高. 其他解法: 1.快排,取前…