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

215. Kth Largest Element in an Array

时间:2016-06-12 12:17:05      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

    /*
     * 215. Kth Largest Element in an Array 
     * 12.18 by Mingyang
     * 所以绞尽脑汁想来想去还是得用priority queue
     * 但是我们这里是直接用PQ,其实我们可以用一个heap来implement
     */
    public static int findKthLargest(int[] nums, int k) {
        PriorityQueue<Integer> q = new PriorityQueue<Integer>(nums.length,
                new Comparator<Integer>() {
                    public int compare(Integer a, Integer b) {
                        if (a > b)
                            return -1; // 这里显示的表示倒叙,如果为正表示顺序
                        else if (a == b)
                            return 0;
                        else
                            return 1;
                    }
                });

        for (Integer num : nums) {
            if (num != null)
                q.add(num);
        }
        int count = k;
        while (k > 1) { // 关于k的值就随意啦
            Integer temp = q.poll();
            k--;
        }
        return q.poll();
    }

 

215. Kth Largest Element in an Array

标签:

原文地址:http://www.cnblogs.com/zmyvszk/p/5576997.html

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