Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.
For example,
Given [3,2,1,5,6,4]
and k = 2, return 5.
class Solution { public int findKthLargest(int[] nums, int k) { PriorityQueue<Integer> queue = new PriorityQueue<>(); for (int num : nums) { queue.offer(num); if (queue.size() > k) { queue.poll(); } } return queue.peek(); } } class Solution { public int findKthLargest(int[] nums, int k) { Arrays.sort(nums); return nums[nums.length - k]; } }
PriorityQueue
with the default initial capacity (11) that orders its elements according to their natural ordering.[LeetCode] 215. Kth Largest Element in an Array
原文:http://www.cnblogs.com/chencode/p/kth-largest-element-in-an-array.html