借助 STL

class Solution {public:int findKthLargest(vector<int>& nums, int k) {sort(nums.begin(),nums.end());// reverse(nums.begin(),nums.end());// return nums[k-1];return *(nums.rbegin() + (k-1));}
};

官方的快排,忘得差不多了。

class Solution {public:int quickSelect(vector<int>& a, int l, int r, int index) {int q = randomPartition(a, l, r);//if (q == index) {return a[q];} else {return q < index ? quickSelect(a, q + 1, r, index) : quickSelect(a, l, q - 1, index);}}inline int randomPartition(vector<int>& a, int l, int r) {int i = rand() % (r - l + 1) + l;swap(a[i], a[r]);return partition(a, l, r);}inline int partition(vector<int>& a, int l, int r) {int x = a[r], i = l - 1;for (int j = l; j < r; ++j) {if (a[j] <= x) {swap(a[++i], a[j]);}}swap(a[i + 1], a[r]);return i + 1;}int findKthLargest(vector<int>& nums, int k) {srand(time(0));return quickSelect(nums, 0, nums.size() - 1, nums.size() - k);}
};作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/solution/shu-zu-zhong-de-di-kge-zui-da-yuan-su-by-leetcode-/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

想学小顶堆

int findKthLargest(vector<int>& nums, int k) {priority_queue<int, vector<int>, greater<int>> res;//从大到小排列for (auto& a : nums) {res.push(a);if (res.size() > k)res.pop();}return res.top();
}

2022-1-27 Leetcode 215.数组中的第 k 个最大元素相关推荐

  1. ⭐算法入门⭐《哈希表》中等05 —— LeetCode 215. 数组中的第K个最大元素

    文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述   给定整数数组nums和 ...

  2. 力扣(LeetCode)215. 数组中的第K个最大元素(C语言)

    一.环境说明 本文是 LeetCode 215题 : 数组中的第K个最大元素,使用c语言实现. 快速选择.查找无序数组的利器! 测试环境:Visual Studio 2019. 二.代码展示 void ...

  3. vector删除第i个元素_[LeetCode] 215. 数组中的第K个最大元素

    题目链接:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/) 题目描述: 在未排序的数组中找到第 k 个最大的元素.请 ...

  4. LeetCode 215. 数组中的第K个最大元素(快速排序)

    1. 题目 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 ...

  5. LeetCode 215 数组中的第K个最大元素

    题目描述 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大 的元素,而不是第 k 个不同的元素. 题解 快速排序 代码 class Solution { pub ...

  6. leetcode 215.数组中的第K个最大元素

    难度:中等 频率:250 ** 题目:给定整数数组nums和整数k,清返回数组中第K个最大的元素. 清注意你要找的是数组排序后的第K个最大的元素,而不是第K个不同的元素. ** ** 题目类型: 经典 ...

  7. Leetcode 215. 数组中的第K个最大元素 解题思路及C++实现

    解题思路: 用最小堆来存储k个最大的值,遍历一次nums容器,然后返回最小堆中最上面节点的值即可. C++中使用priority_queue来实现最小堆.代码如下: class Solution { ...

  8. 【LeetCode】【HOT】215. 数组中的第K个最大元素(优先队列)

    [LeetCode][HOT]215. 数组中的第K个最大元素 文章目录 [LeetCode][HOT]215. 数组中的第K个最大元素 package hot;import java.util.Co ...

  9. 215. 数组中的第 K个最大元素

    215. 数组中的第 K个最大元素 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数 组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5 ...

最新文章

  1. easyexcel 无模板写入_给位,问个问题,用easyExcel无模板导出数据时,怎么在指定单元格添加计算公式呢?...
  2. dictionary 用linQ排序
  3. PowerBI分析Exchange服务器IIS运行日志
  4. 别在Java代码里乱打日志了,这才是正确的打日志姿势!
  5. 太省事了!高分SCI全套优质模板下载
  6. 服务器能做镜像文件吗,如何给服务器做镜像
  7. [Oracle]GoldenGate官方文档
  8. Javascript:各种定位clientX、pageY、screenX、offsetY区别
  9. .NET Reflector + ILSpy 反编译过程
  10. ResHacker 3.5 汉化绿色版
  11. 将VSCode设置成中文
  12. Mac安装软件时各种异常情况的解决方法
  13. 计算机论文指导记录范本,论文指导内容记录怎么写 3篇 论文指导记录20篇
  14. 毕业设计 基于JavaWeb的奖学金评定管理系统
  15. STM32F103C8T6模拟IIC控制4针0.96寸OLED显示屏
  16. Day3_Pytorch入门——人脸标点绘图(简单)
  17. 【Python】第二章 内置数据类型
  18. Windows7下安装Docker、下载镜像和运行OpenTsdb容器
  19. Xcode8.1如何支持iOS8.0以下版本
  20. Echarts地图开发:geomap全国34省市区cp属性经纬度坐标

热门文章

  1. wav 与 pcm 互转
  2. 收藏 | 计算机顶会论文投稿指南
  3. Android 使用自带的MediaCodec 框架进行本地视频压缩
  4. mac下安装7z和keka
  5. 深度学习三维人体建模最新论文、资源、数据、代码整理分享
  6. 微信公众号多客服系统自动分组系统
  7. Geodatabase - 删除要素
  8. 视频教程-Spring Cloud微服务--入门到精通-Java
  9. 手把手教你如何在Ubuntu22.04下驱动 EPSON系列打印机---以爱普生 EPSON L380为例
  10. appium python 打开通知栏_appium+python 操作APP