class Solution {
public:
int findKthLargest(vector<int>& nums, int k) {
priority_queue<int, vector<int>> q(nums.begin(), nums.end());
for (int i = 0; i < k - 1; i++)
{
q.pop();
}
return q.top();
}
};
这里我们用优先级队列的方法,优先级队列内部结构是一个默认是一个大堆,取出前k-1个堆顶的数据,最后堆顶的数据就是第k个大的数。