码迷,mamicode.com
首页 > 其他好文 > 详细

[LeetCode] 215. Kth Largest Element in an Array

时间:2017-11-06 11:31:30      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:creat   enc   class   out   lang   ocs   target   its   col   

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()

Creates a PriorityQueue with the default initial capacity (11) that orders its elements according to their natural ordering.
natural ordering: 1 2 3 4 5 6 7 10 11 12 20 21 (reference)

[LeetCode] 215. Kth Largest Element in an Array

标签:creat   enc   class   out   lang   ocs   target   its   col   

原文地址:http://www.cnblogs.com/chencode/p/kth-largest-element-in-an-array.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!