有n个整数,找出其中最小的k个数,要求时间复杂度尽可能低。
时间: 2023-04-20 13:02:00 浏览: 117
丢失的最小正整数leetcode-AlgorithmProblems:LeetCode出问题了
可以使用快速排序的思想,选取一个数作为基准值,将小于基准值的数放在左边,大于基准值的数放在右边。然后判断左边的数的个数是否大于等于k,如果是,则在左边继续递归查找最小的k个数;如果不是,则在右边继续递归查找最小的k-len(left)个数。时间复杂度为O(nlogn)。
阅读全文