题解 | #寻找第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 if (a == null || n < 1 || k < 1 || n < k) { return -1; } PriorityQueue<Integer> pq = new PriorityQueue<>(); for (int i = 0; i < n; i++) { if (i < k) { pq.offer(a[i]); } else if (pq.peek() < a[i]) { pq.poll(); pq.offer(a[i]); } } return pq.poll(); } }