题解 | #寻找第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; } }