LeetCode215. Kth Largest Element in an Array

文章目录

    • 一、题目
    • 二、题解

一、题目

Given an integer array nums and an integer k, return the kth largest element in the array.

Note that it is the kth largest element in the sorted order, not the kth distinct element.

Can you solve it without sorting?

Example 1:

Input: nums = [3,2,1,5,6,4], k = 2
Output: 5
Example 2:

Input: nums = [3,2,3,1,2,4,5,5,6], k = 4
Output: 4

Constraints:

1 <= k <= nums.length <= 105
-104 <= nums[i] <= 104

二、题解

class Solution {
public:
    int findKthLargest(vector<int>& nums, int k) {
        priority_queue<int> q;
        for(auto a:nums){
            q.push(a);
        }
        k--;
        while(k--){
            q.pop();
        }
        return q.top();
    }
};

你可能感兴趣的:(数据结构,leetcode,c++,算法,优先级队列)