第九章:堆
面试题59:数据流的第k大数值
题目
参考代码
class KthLargest {
private PriorityQueue<Integer> minHeap;
private int size;
public KthLargest(int k, int[] nums) {
size = k;
minHeap = new PriorityQueue<>();
for (int num : nums) {
add(num);
}
}
public int add(int val) {
if (minHeap.size() < size) {
minHeap.offer(val);
} else if (val > minHeap.peek()) {
minHeap.poll();
minHeap.offer(val);
}
return minHeap.peek();
}
}面试题60:出现频率最高的k个数字
题目
参考代码
面试题61:和最小的k个数对
题目
参考代码
解法一
解法二
Last updated