力扣215.数组中第k个最大元素

在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。

class Solution {
public:
    int findKthLargest(vector<int>& nums, int k) {
        // 第一种方法:优先级队列
        // // 建立大堆
        // priority_queue p(nums.begin(), nums.end());
        // // 出前k-1个元素
        // for(int i = k - 1; i > 0; --i)
        //     p.pop(); 

        // // 最后返回堆顶元素
        // return p.top();

        // // 2.排序(升序)
        // sort(nums.begin(), nums.end());
        // return nums[nums.size() - k];     

        // 3.排序(降序)   
        sort(nums.begin(), nums.end(), greater<int>());  // greater () 记得加括号
        return nums[k - 1];     
    }
};

你可能感兴趣的:(c++)