2022-1-27 Leetcode 215.数组中的第 k 个最大元素
借助 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 个最大元素相关推荐
- ⭐算法入门⭐《哈希表》中等05 —— LeetCode 215. 数组中的第K个最大元素
文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述 给定整数数组nums和 ...
- 力扣(LeetCode)215. 数组中的第K个最大元素(C语言)
一.环境说明 本文是 LeetCode 215题 : 数组中的第K个最大元素,使用c语言实现. 快速选择.查找无序数组的利器! 测试环境:Visual Studio 2019. 二.代码展示 void ...
- vector删除第i个元素_[LeetCode] 215. 数组中的第K个最大元素
题目链接:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/) 题目描述: 在未排序的数组中找到第 k 个最大的元素.请 ...
- LeetCode 215. 数组中的第K个最大元素(快速排序)
1. 题目 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 ...
- LeetCode 215 数组中的第K个最大元素
题目描述 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大 的元素,而不是第 k 个不同的元素. 题解 快速排序 代码 class Solution { pub ...
- leetcode 215.数组中的第K个最大元素
难度:中等 频率:250 ** 题目:给定整数数组nums和整数k,清返回数组中第K个最大的元素. 清注意你要找的是数组排序后的第K个最大的元素,而不是第K个不同的元素. ** ** 题目类型: 经典 ...
- Leetcode 215. 数组中的第K个最大元素 解题思路及C++实现
解题思路: 用最小堆来存储k个最大的值,遍历一次nums容器,然后返回最小堆中最上面节点的值即可. C++中使用priority_queue来实现最小堆.代码如下: class Solution { ...
- 【LeetCode】【HOT】215. 数组中的第K个最大元素(优先队列)
[LeetCode][HOT]215. 数组中的第K个最大元素 文章目录 [LeetCode][HOT]215. 数组中的第K个最大元素 package hot;import java.util.Co ...
- 215. 数组中的第 K个最大元素
215. 数组中的第 K个最大元素 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数 组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5 ...
最新文章
- easyexcel 无模板写入_给位,问个问题,用easyExcel无模板导出数据时,怎么在指定单元格添加计算公式呢?...
- dictionary 用linQ排序
- PowerBI分析Exchange服务器IIS运行日志
- 别在Java代码里乱打日志了,这才是正确的打日志姿势!
- 太省事了!高分SCI全套优质模板下载
- 服务器能做镜像文件吗,如何给服务器做镜像
- [Oracle]GoldenGate官方文档
- Javascript:各种定位clientX、pageY、screenX、offsetY区别
- .NET Reflector + ILSpy 反编译过程
- ResHacker 3.5 汉化绿色版
- 将VSCode设置成中文
- Mac安装软件时各种异常情况的解决方法
- 计算机论文指导记录范本,论文指导内容记录怎么写 3篇 论文指导记录20篇
- 毕业设计 基于JavaWeb的奖学金评定管理系统
- STM32F103C8T6模拟IIC控制4针0.96寸OLED显示屏
- Day3_Pytorch入门——人脸标点绘图(简单)
- 【Python】第二章 内置数据类型
- Windows7下安装Docker、下载镜像和运行OpenTsdb容器
- Xcode8.1如何支持iOS8.0以下版本
- Echarts地图开发:geomap全国34省市区cp属性经纬度坐标