java: add «703. Kth Largest Element in a Stream»

Signed-off-by: Matej Focko <me@mfocko.xyz>
This commit is contained in:
Matej Focko 2024-08-12 11:50:04 +02:00
parent 2e4f1e770b
commit 28379bfe10
Signed by: mfocko
SSH key fingerprint: SHA256:icm0fIOSJUpy5+1x23sfr+hLtF9UhY8VpMC7H4WFJP8

View file

@ -0,0 +1,27 @@
import java.util.PriorityQueue;
class KthLargest {
int k;
private PriorityQueue<Integer> heap;
public KthLargest(int k, int[] nums) {
this.k = k;
heap = new PriorityQueue<>(k + 1);
for (var num : nums) {
add(num);
}
}
public int add(int val) {
if (heap.size() < k || heap.peek() < val) {
heap.add(val);
if (heap.size() > k) {
heap.remove();
}
}
return heap.peek();
}
}