题解 | #寻找第K大#
寻找第K大
https://www.nowcoder.com/practice/e016ad9b7f0b45048c58a9f27ba618bf
import java.util.*;
public class Solution {
public int findKth(int[] a, int n, int K) {
// write code here
Queue<Integer> priorityQueue = new PriorityQueue<>(K*2);
for (int i : a) {
if(priorityQueue.size()<K) {
priorityQueue.add(i);
// 取出根节点也就是最小的值
}else if(i > priorityQueue.peek()) {
priorityQueue.add(i);
priorityQueue.poll();
}
}
int x = priorityQueue.poll();
return x;
}
}
