Kth Largest Element in a Stream
找一个流中第k大的元素. 找大用min heap.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
class KthLargest { PriorityQueue<Integer> m; int k; public KthLargest(int k, int[] nums) { this.k = k; m = new PriorityQueue<>(); for(int n : nums) m.add(n); } public int add(int val) { m.add(val); while(m.size() > k) { m.poll(); } return m.peek(); } } |