*제목
스트림에서 K번째로 큰 요소
*오늘의 문제
코드
import java.util.;
class KthLargest {
private final PriorityQueue pq;
private final int k;
public KthLargest(int k, int[] nums) {
this.k = k;
pq = new PriorityQueue<>();
for (int num : nums) {
add(num);
}
}
public int add(int val) {
if (pq.size() < k) {
pq.offer(val);
} else if (val > pq.peek()) {
pq.poll();
pq.offer(val);
}
return pq.peek();
}
}
*설명
PriorityQueue를 사용하여 k개의 가장 큰 요소를 유지한다 생성자에서 초기 배열의 모든 요소에 add메서드를 호출