KthLargestElementArray

来源:互联网 发布:99家居软件怎么样 编辑:程序博客网 时间:2024/06/13 21:22

原题:点击打开链接


思考过程&解题思路:一开始直接用Arrays.sort(),就可以了。后来又用了优先队列的方法解决了一下。


结果代码:

public int findKthLargestSimple(int[] nums, int k) {        Arrays.sort(nums);        return nums[nums.length - k];    }    public int findKthLargest(int[] nums, int k) {        int len = nums.length;        PriorityQueue<Integer> priorityQueue = new PriorityQueue<>();        for (int i = 0;i < len;i++)//加到队列里            priorityQueue.offer(nums[i]);        for (int i = 0;i < len - k;i++)//第k个大的元素以前元素都出队列            priorityQueue.poll();        return priorityQueue.peek();    }