public class KthLargest {
public static void main(String[] args) {
int [] nums = {4,5,8,2};
KthLargest kthLargest = new KthLargest(3,nums);
System.out.println(kthLargest.add(3));
System.out.println(kthLargest.add(5));
System.out.println(kthLargest.add(10));
System.out.println(kthLargest.add(9));
System.out.println(kthLargest.add(4));
}
PriorityQueue<Integer> heap ;
private int limit ;
public KthLargest(int k, int[] nums) {
limit = k;
heap = new PriorityQueue<>();
for (int num:nums){
add(num);
}
}
public int add(int val) {
if(heap.size() < limit){
heap.add(val);
}else if(val>heap.peek()) {
heap.poll();
heap.add(val);
}
return heap.peek();
}
}
leet703:数据流中的第K大元素
最新推荐文章于 2023-01-22 22:04:45 发布