mirror of
https://github.com/CyC2018/Interview-Notebook.git
synced 2026-10-23 17:53:42 +00:00
Update Leetcode 题解 - 排序.md
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
77f2319e35
commit
1fa68a2c06
@@ -20,9 +20,9 @@
|
||||
|
||||
## 堆
|
||||
|
||||
用于求解 **TopK Elements** 问题,也就是 K 个最小元素的问题。使用最小堆来实现 TopK 问题,最小堆使用大顶堆来实现,大顶堆的堆顶元素为当前堆的最大元素。实现过程:不断地往大顶堆中插入新元素,当堆中元素的数量大于 k 时,移除堆顶元素,也就是当前堆中最大的元素,剩下的元素都为当前添加过的元素中最小的 K 个元素。插入和移除堆顶元素的时间复杂度都为 log<sub>2</sub>N。
|
||||
用于求解 **TopK Elements** 问题,也就是 K 个最大元素的问题。使用大小为 K 的小顶堆来实现:不断地往小顶堆中插入新元素,当堆中元素的数量大于 K 时,移除堆顶元素,也就是当前堆中最小的元素,剩下的元素都为当前添加过的元素中最大的 K 个元素。插入和移除堆顶元素的时间复杂度都为 log<sub>2</sub>N。
|
||||
|
||||
堆也可以用于求解 Kth Element 问题,得到了大小为 K 的最小堆之后,因为使用了大顶堆来实现,因此堆顶元素就是第 K 大的元素。
|
||||
堆也可以用于求解 Kth Element 问题,得到了大小为 K 的小顶堆之后,堆顶元素就是第 K 大的元素。同理,求 K 个最小元素或者第 K 小的元素时使用大顶堆。
|
||||
|
||||
快速选择也可以求解 TopK Elements 问题,因为找到 Kth Element 之后,再遍历一次数组,所有小于等于 Kth Element 的元素都是 TopK Elements。
|
||||
|
||||
@@ -39,7 +39,7 @@ Input: [3,2,1,5,6,4] and k = 2
|
||||
Output: 5
|
||||
```
|
||||
|
||||
题目描述:找到倒数第 k 个的元素。
|
||||
题目描述:找到数组中第 k 大的元素。
|
||||
|
||||
**排序** :时间复杂度 O(NlogN),空间复杂度 O(1)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user