leetcode 215.数组中第k大的元素

⭐️ 题目描述

leetcode 215.数组中第k大的元素_第1张图片


leetcode链接:数组中第k大的元素

思路: 使用堆数据结构,大堆的堆顶是堆内最大的元素,也就是把当前堆 pop k - 1 次,第 ktop 出来的元素就是第 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();
    }
};

你可能感兴趣的:(刷题,leetcode,刷题,学习)