leetcode215 K largest element in an array

方法一
PriorityQueue
优先级队列

class Solution {
    public int findKthLargest(int[] nums, int k) {
        if(nums== null || nums.length==0 || k<0) return 0;
        PriorityQueue<Integer>pq=new PriorityQueue<Integer>();
        for (int num:nums){//遍历
            pq.offer(num);//将数组中的数加入pq
            if(pq.size()>k){
                pq.poll();//如果超出pq的尺寸,把最小的数poll出来
            }
        }
        return pq.peek();//返回最顶端的数
    }
}

PriorityQueue的实现

方法二 Quicksort

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容