思路:
直接排序是可以的,但是时间复杂度不符合。可以使用优先队列,代码如下:
class Solution {public int findKthLargest(int[] nums, int k) {if (nums==null||nums.length==0||k<0||k>nums.length){return Integer.MAX_VALUE;}PriorityQueue<Integer> queue = new PriorityQueue<>(Comparator.reverseOrder());for (int num : nums) {queue.add(num);}for (int i = 1; i < k; i++) {queue.poll();}return queue.poll();}
}