时间复杂度最好小于 O(nlogn)
1
Kilerd 2020 年 6 月 15 日
限制 nLogN 那就快排一下,取前 100 (反正你也没要求空间复杂度
|
2
xupefei 2020 年 6 月 15 日 via iPhone
heap sort,复杂度 n log100
|
3
Perry 2020 年 6 月 15 日 via iPhone
先找到没有排好的 top 100
|
4
B1ankCat 2020 年 6 月 15 日
按理论来说最小堆就行
|
5
takemeaway 2020 年 6 月 15 日
O(1)即可
|
6
unixeno 2020 年 6 月 15 日 via Android
构建一个 100 元素的小顶堆
然后遍历数组,大于堆顶元素的时候就交换,然后调整堆 |
7
wangfyyy OP 看来这不是一道经典的面试题
|
8
yishanhe 2020 年 7 月 4 日
其实用堆的话 ,空间复杂度 是 O(k) 时间复杂度是 O(nlogk)
这里的 k 就是 100 已经比 O(nlogn) 小了 如果要找比 O(nlogk) 还少的,那么就只能空间换时间了,可以用 bucket sort 时间复杂度 O(n) 空间复杂度 也是 O(n) |