其他分享
首页 > 其他分享> > LeetCode703(数据流中的第K大元素)

LeetCode703(数据流中的第K大元素)

作者:互联网

用优先队列存储前k大元素,堆顶是第k大元素,每一次添加一个元素道优先队列,如果队列长度大于k就pop堆顶元素

参考https://blog.csdn.net/qq_41687938/article/details/117827166

class KthLargest {
public:
    priority_queue<int,vector<int>,greater<int>>pq;
    int k;
    KthLargest(int k, vector<int>& nums) {
        this->k = k;
        for(auto&x:nums){
            add(x);
        }
    }
    
    int add(int val) {
        pq.push(val);
        if(pq.size()>k){
            pq.pop();
        }
        return pq.top();
    }
};

 

标签:LeetCode703,KthLargest,pq,int,元素,pop,队列,数据流
来源: https://www.cnblogs.com/stevenzrx/p/16340489.html