当前位置: 首页 > news >正文

LeetCode 215题解 | 数组中的第K个最大元素

数组中的第K个最大元素

  • 一、题目链接
  • 二、题目
  • 三、算法原理
  • 四、编写代码

一、题目链接

数组中的第K个最大元素

二、题目

在这里插入图片描述

三、算法原理

  • 法一:排序

  • 法二:优先级队列(堆)

重点看法二:

默认建大堆,意味着以后不用自己写堆了,直接用库里的优先级队列即可。

这个问题就是topK问题,只不过不是求解K个最大的,而是要求解第K个最大的。

如何建堆?—— 调用优先级队列的构造接口时底层就会调用建堆算法。

pop 前k-1个数据,再取堆顶元素即可。

四、编写代码

class Solution {
public:int findKthLargest(vector<int>& nums, int k) {priority_queue<int> pq(nums.begin(), nums.end());while (--k){pq.pop();}return pq.top();}
};

相关文章:

  • Spring Boot 中的重试机制
  • 基于.Net Core开发的GraphQL开源项目
  • istio in action之服务网格和istio组件
  • Spring Boot 集成 Flink CDC 实现 MySQL 到 Kafka 实时同步
  • Linux 常用命令集合
  • 从InfluxDB到StarRocks:Grab实现Spark监控平台10倍性能提升
  • COT思维链:SequentialChain 方法有哪些参数;优化后的提示词
  • 【C语言】(9)—指针3
  • VSCode1.101.0便携版|中英文|编辑器|安装教程
  • 一个.Net开源的关系管理系统
  • 汇编学习——iOS开发对arm64汇编的初步了解
  • go 通过汇编学习atomic原子操作原理
  • AI面经总结-试读
  • C# 方法(方法重载)
  • 【MySQL】表空间结构 - 从何为表空间到段页详解
  • 服务器mysql连接我碰到的错误
  • Git的核心作用详解
  • 智能语音助手的未来:从交互到融合
  • HTTP 错误状态码以及常用解决方案
  • 基于OpenCV的人脸识别:LBPH算法
  • 内塔尼亚胡:以军将在未来几天“全力进入”加沙
  • 香港根据《维护国家安全条例》订立附属法例
  • 《AI×SCIENCE十大前沿观察》9:合成数据和数据基础设施
  • 重庆三峡学院回应“85万元中标设备,网购价不到300元”:已着手解决
  • 冷冰川谈黑白
  • 雷军:过去一个多月是创办小米以来最艰难的时间