⭐️ 题目描述
🌟 leetcode链接:数组中第k大的元素
思路:
使用堆数据结构,大堆的堆顶是堆内最大的元素,也就是把当前堆 pop
k - 1
次,第 k
次 top
出来的元素就是第 k
大的数。
代码:
class Solution {
public:
int findKthLargest(vector<int>& nums, int k) {
// Top-k 问题
// 使用大堆 top 出 k - 1 次 再 top 一次就是 第k大的数
priority_queue heap(nums.begin() , nums.end()); // 默认是大堆
while (--k) {
heap.pop();
}
return heap.top();
}
};