File tree Expand file tree Collapse file tree 1 file changed +2
-2
lines changed
solution/0200-0299/0215.Kth Largest Element in an Array Expand file tree Collapse file tree 1 file changed +2
-2
lines changed Original file line number Diff line number Diff line change 60
60
61
61
快速选择算法是一种在未排序的数组中查找第 ` k ` 个最大元素或最小元素的算法。它的基本思想是每次选择一个基准元素,将数组分为两部分,一部分的元素都比基准元素小,另一部分的元素都比基准元素大,然后根据基准元素的位置,决定继续在左边还是右边查找,直到找到第 ` k ` 个最大元素。
62
62
63
- 时间复杂度 $O(n)$,空间复杂度 $O(\log n)$。其中, $n$ 为数组 $\text{nums}$ 的长度。
63
+ 时间复杂度 $O(n)$,空间复杂度 $O(\log n)$。其中 $n$ 为数组 $\text{nums}$ 的长度。
64
64
65
65
<!-- tabs:start -->
66
66
@@ -285,7 +285,7 @@ impl Solution {
285
285
286
286
我们可以维护一个大小为 $k$ 的小根堆 $\text{minQ}$,然后遍历数组 $\text{nums}$,将数组中的元素依次加入到小根堆中,当小根堆的大小超过 $k$ 时,我们将堆顶元素弹出,这样最终小根堆中的 $k$ 个元素就是数组中的 $k$ 个最大元素,堆顶元素就是第 $k$ 个最大元素。
287
287
288
- 时间复杂度 $O(n\log k)$,空间复杂度 $O(k)$。其中, $n$ 为数组 $\text{nums}$ 的长度。
288
+ 时间复杂度 $O(n\log k)$,空间复杂度 $O(k)$。其中 $n$ 为数组 $\text{nums}$ 的长度。
289
289
290
290
<!-- tabs: start -->
291
291
You can’t perform that action at this time.
0 commit comments