class KthLargest {
int n;
PriorityQueue<Integer> q;
public KthLargest(int k, int[] nums) {
n = k;
q = new PriorityQueue<Integer>(n);
for(int i : nums){
add(i);
}
}
public int add(int val) {
if(q.size() < n) {
q.offer(val);
}
else if(q.peek() < val) {
q.poll();
q.offer(val);
}
return q.peek();
}
}
可以使用priorityQueue,即优先级队列作为小根树,在不指定comparator的情况下