0. 题目
1. 排序 o(nlogn) o(logn) 快排空间复杂度
class Solution:
def getLeastNumbers(self, arr, k):
arr.sort()
return arr[:k]
2. 大根堆 实时维护数组的前 k 小值 o(nlogk) o(k)
我们用一个 大根堆 实时维护数组的前 k 小值。
首先将前 k 个数插入大根堆中,随后从第 k+1 个数开始遍历,
如果 当前遍历到的数比大根堆的堆顶的数要小,就把 堆顶的数弹出,再 插入当前遍历到的数。
最后 将大根堆里的数存入数组返回即可。
在下面的代码中,由于 C++ 语言中的