用到大根堆的结构,java中优先级队列就是堆的结构。可自动排序。
class KthLargest {
int k;
PriorityQueue<Integer> q;
public KthLargest(int k, int[] nums) {
this.k = k;
this.q = new PriorityQueue<Integer>(k);
for(int num : nums){
add(num);
}
}
public int add(int val) {
if(q.size()<k){
q.offer(val);
}else{
if(q.peek()<val){
q.poll();
q.offer(val);
}
}
return q.peek();
}
}