Step-by-Step
[Java] Daily LeetCode Challenge 703. Kth Largest Element in a Stream 본문
언어/JAVA
[Java] Daily LeetCode Challenge 703. Kth Largest Element in a Stream
희주(KHJ) 2023. 5. 23. 21:38https://leetcode.com/problems/kth-largest-element-in-a-stream/
1차원적 접근과 PQ이용은 상당히 차이난다,,
PQ 이용해서 오름차순 정렬 후, 항상 size를 K로 유지하고 그때그때 Peek값 전달해주면 됨!
[코드]
class KthLargest {
int k = 0;
PriorityQueue<Integer> num = new PriorityQueue<Integer>();
public KthLargest(int k, int[] nums) {
this.k = k;
for(int i : nums)
setHeap(i);
}
public int add(int val) {
setHeap(val);
return num.peek();
}
public void setHeap(int val){
num.add(val);
if(num.size() > k)
num.poll();
}
}
/*
*
* Your KthLargest object will be instantiated and called as such:
* KthLargest obj = new KthLargest(k, nums);
* int param_1 = obj.add(val);
*
*/
'언어 > JAVA' 카테고리의 다른 글
[LeetCode] 389. Find the Difference (0) | 2023.09.25 |
---|---|
[Java] Daily LeetCode Challenge 347. Top K Frequent Elements (0) | 2023.05.23 |
[Java] Daily LeetCode Challenge 2466. Count Ways To Build Good Strings (0) | 2023.05.13 |
[Java] Daily LeetCode Challenge 1035. Uncrossed Lines (0) | 2023.05.11 |
[Java] Daily LeetCode Challenge 59. Spiral Matrix II (0) | 2023.05.10 |
Comments