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

【牛客】第 k 小

题目

【牛客】第 k 小

思路

设置两个优先队列,一个小根堆,一个大根堆,把前k-1个数都放入大根堆中,从第k个数放入小根堆中,维护大根堆,让大根堆中的数全是小于k的数,取小根堆堆顶元素即第k小的数。

代码

#include<iostream>
#include<queue>
#include<algorithm>
using namespace std;
int a[200010];
int main() {int n, m, k, i, t;cin >> n >> m >> k;priority_queue<int>da;priority_queue<int, vector<int>, greater<int>>xiao;for (i = 1; i <= n; i++) {cin>>a[i];}sort(a + 1, a + 1 + n);for (i = 1; i <= n; i++) {if (i < k) {da.push(a[i]);}else {xiao.push(a[i]);}}while (m--) {cin>>i;if (i == 1) {cin>>t;if (n < k - 1) {da.push(t);n++;}else {if (t >= da.top()) {xiao.push(t);}else {da.push(t);int tmp = da.top();da.pop();xiao.push(tmp);}}}else {if (xiao.empty())cout << "-1" << endl;elsecout << xiao.top() << endl;;}}return 0;
}

http://www.mrgr.cn/news/92983.html

相关文章:

  • vue3之echarts仪表盘
  • RPA 职业前景:个人职场发展的 “新机遇”
  • 动态SQL
  • 【经验分享】Ubuntu vmware虚拟机存储空间越来越小问题(已解决)
  • Unity 打包后EXE运行出现Field to Load il2cpp的一种情况
  • [KEIL]单片机技巧 01
  • 2025-03-03 学习记录--C/C++-PTA 7-38 数列求和-加强版
  • 【监督学习】支持向量机步骤及matlab实现
  • Excel的行高、列宽单位不统一?还是LaTeX靠谱
  • 从DNS到TCP:DNS解析流程和浏览器输入域名访问流程
  • Vue盲区扫雷
  • 大语言模型学习
  • 【弹性计算】弹性裸金属服务器和神龙虚拟化(一):功能特点
  • 大语言模型学习--LangChain
  • GPIO及其应用
  • 【弹性计算】弹性裸金属服务器和神龙虚拟化(二):适用场景
  • 年后 总结
  • Ubuntu20.04下各类常用软件及库安装汇总(联想Y9000P24款)
  • 【Mac】git使用再学习
  • 《从0到1:用Python在鸿蒙系统开发安防图像分类AI功能》