【Leetcode刷题篇】leetcode215 数组中的第k个最大元素
发布日期:2021-06-29 15:33:30 浏览次数:3 分类:技术文章

本文共 687 字,大约阅读时间需要 2 分钟。

题目:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。

示例 1:

输入: [3,2,1,5,6,4] 和 k = 2
输出: 5

示例 2:

输入: [3,2,3,1,2,4,5,5,6] 和 k = 4
输出: 4

题解一、直接数组排序

public int findKthLargest(int[] nums,int k) {
Arrays.sort(nums); return nums[k-1]; }

题解二、用优先级队列来解决

public int findKthLargest_2(int[] nums,int k) {
int len = nums.length; PriorityQueue
queue = new PriorityQueue<>(k,new Comparator
() {
@Override public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub return o1-o2; } }); //top K for(int i=0;i
queue.peek()) {
queue.poll(); queue.offer(value); } } return (int) queue.peek(); }```

转载地址:https://codingchaozhang.blog.csdn.net/article/details/109584912 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【Leetcode刷题篇】leetcode451根据字符出现频率排序
下一篇:【Leetcode刷题篇】leetcode349 两个数组的交集

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月21日 22时43分41秒