【LeetCode】 215. 数组中的第K个最大元素 大顶堆

news/2024/5/20 9:35:30 标签: leetcode, , java

题目

题目传送门:传送门(点击此处)
在这里插入图片描述

题解

思路

这道题目是有难度的,如果使用先排序的方法,就有一点墨迹了,所以我们这道题目借助的数据结构,实现最大就可以了

代码

java">class Solution {
    public int findKthLargest(int[] nums, int k) {
        // init heap 'the smallest element first'
        PriorityQueue<Integer> heap = new PriorityQueue<Integer>((n1, n2) -> n1 - n2);
        // keep k largest elements in the heap
        for (int n : nums) {
            heap.add(n);
            if (heap.size() > k)
                heap.poll();
        }
        // output
        return heap.poll();
    }
}

http://www.niftyadmin.cn/n/1684145.html

相关文章

【LeetCode】 62. 不同路径 动态规划

题目 题目传送门&#xff1a;传送门&#xff08;点击此处&#xff09; 题解 使用一个矩阵来保存路径的条数 如果机器人在第一行或者第一列&#xff0c;可能的路线数字只能为1机器人不在第一行和第一列的时候&#xff0c;可能从上边过来的&#xff0c;也可能从左边过来的&am…

【阿里云在线编程】 39.复杂的字符串

题目 题目传送门&#xff1a;传送门&#xff08;点击此处&#xff09; 题解 思路 从题目看&#xff0c;很容易想到就是找这两个字符串的公共部分&#xff0c;而且公共部分在两个字符串的最后&#xff0c;所以&#xff0c;从字符串的最后开始遍历&#xff0c;找到第一个不一…

【阿里云在线编程】 34.矩阵最小路径和

题目 题目传送门&#xff1a;传送门&#xff08;点击此处&#xff09; 题解 思路 ps&#xff1a;声明一个格子来存储路径条数或者路径长度都可&#xff0c;可以解决路径条数和长度连个问题 典型的动态规划题目&#xff0c;从左上角到右下角&#xff0c;只能向右或者向下移动…

【阿里云在线编程】 37.最强的团队

题目 题目传送门&#xff1a;传送门&#xff08;点击此处&#xff09; 题解 思路 先来读懂这道题目&#xff0c;这道题通俗的解释就是&#xff0c;找到一个数组中最大的元素出现的次数 从第一个开始&#xff0c;遍历数组&#xff0c;存储 当前数字 以及 出现次数遍历的每个…

【阿里云在线编程】 43.打怪兽

题目 题目传送门&#xff1a;传送门&#xff08;点击此处&#xff09; 题解 思路 主要还是对于题目的理解&#xff0c;要把题目进行转换&#xff0c;了解要求得的结果是什么 其实看题目&#xff0c;要进行三次攻击&#xff0c;第二只 攻击 第一只 &#xff0c;第三只攻击 …

【阿里云在线编程】 49.吃奶酪 二分法

题目 题目传送门&#xff1a;传送门&#xff08;点击此处&#xff09; 题解 思路 二分法 做阿里云在线编程得题目感受比较大得就是&#xff0c;理解题目&#xff01;&#xff01;&#xff01; 同样得&#xff0c;简化题目所说得&#xff0c;找到 50 000 以及左右的第一个数…

【阿里云在线编程】 52.朋友一生一起走

题目 题目传送门&#xff1a;传送门&#xff08;点击此处&#xff09; 题解 解题思路 数字 k&#xff0c;比如 k5&#xff0c;它的 “好朋友” 分别是1和4、2和3&#xff1b;如果k6&#xff0c;那么它的 “好朋友” 分别是 1和5、2和4&#xff0c;所以&#xff0c;单数的好…

【阿里云在线编程】 86.完美排列

题目 题目传送门&#xff1a;传送门&#xff08;点击此处&#xff09; 题解 思路 简化题目&#xff0c;给一个长度为n的数组&#xff0c;每次只能对其中的某一个元素进行加一或者减一的操作&#xff0c;问最后要操作多少次形象一点&#xff0c;也就是这样&#xff1a; 所以…