剑指 Offer II 059. 数据流的第 K 大数值

class KthLargest {

    int k;
    PriorityQueue<Integer> pq;

    public KthLargest(int k, int[] nums) {

        this.k = k;
        pq = new PriorityQueue<>();

        for (int i = 0; i < nums.length; i++) {
            add(nums[i]);
        }
    }

    public int add(int val) {

        if (pq.size() < k){
            pq.add(val);
        }
        else {
            if (val > pq.peek()){

                pq.poll();
                pq.add(val);
            }
        }

        return pq.peek();
    }
}

https://leetcode-cn.com/problems/jBjn9C/

上一篇:STL在竞赛中的应用


下一篇:leetcode 合并 k 个升序链表 困难