class KthLargest {
private PriorityQueue<Integer> q;
private int size;
public KthLargest(int k, int[] nums) {
q = new PriorityQueue<>(k);
size = k;
for (int num : nums) {
add(num);
}
}
public int add(int val) {
q.offer(val);
if (q.size() > size) {
q.poll();
}
return q.peek();
}
}
/**
* Your KthLargest object will be instantiated and called as such:
* KthLargest obj = new KthLargest(k, nums);
* int param_1 = obj.add(val);
*/