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

NOIP 2008 普及组初赛试题完善程序 4.2 (找第k大的数)

给定一个长度为1,000,000的无序正整数序列,

以及另一个数n (1<=n<=1000000),

然后以类似快速排序的方法找到序列中第n大的数

(关于第n大的数:

例如序列{1,2,3,4,5,6}中第3大的数是4)。

#include <iostream>
using namespace std;int a[1000001],n,ans = -1;void swap(int &a,int &b)
{int c;c = a; a = b;	b = c;
}int FindKth(int left, int right, int n)
{int tmp,value,i,j;if (left == right) return left;tmp = rand()% (right - left) + left;swap(a[tmp],a[left]);value =[          ①         ];//a[left]i = left;j = right;while (i < j){while (i < j && [            ②        ]) j --;// a[j]<valueif (i < j) {a[i] = a[j]; i ++;} else 	break;while (i < j && [          ③        ]) i ++;//a[i]>valueif (i < j) {a[j] = a[i]; j - -;} else break;}[        ④       ]  //a[i]=valueif (i < n) return  FindKth([               ⑤           ] );//i+1,right,nif (i > n) return [                  ⑥                        ] // FindKth(left,i–1,n);       return i;
}int main()
{int i;int m = 1000000;for (i = 1;i <= m;i ++)cin >> a[i];cin >> n;ans = FindKth(1,m,n);cout << a[ans];return 0;
}



1.正确答案: a[left]

2.正确答案: a[j]<value

3.正确答案: a[i]>value

4.正确答案: a[i]=value;

5.正确答案: i+1,right,n

6.正确答案: FindKth(left,i–1,n);




【NOIP2011】13.在含有n个元素的双向链表中查询是否存在关键字为k的元素,最快情况下运行的时间复杂度是(    )。

         A.O(1 )            B.O( log n )         

        C.O( n )            D.O( n log n )




P1923 【深基9.例4】求第 k 小的数

【深基9.例4】求第 k 小的数 - 洛谷

1235:输出前k大的数

信息学奥赛一本通(C++版)在线评测系统









CSP-J1 CSP-S1 第1轮 初赛 集训视频集(2022.08.22)

CSP-J1 CSP-S1 第1轮 初赛 集训视频集(2022.08.22)-CSDN博客

CSP-J1 CSP-S1 信奥 第1轮 初赛 数据分析 成绩及分数线汇总

CSP-J1 CSP-S1 信奥 第1轮 初赛 数据分析 成绩及分数线汇总-CSDN博客

2019-2021 CSP-J CSP-S 第一轮成绩及分数线汇总

2019-2021 CSP-J CSP-S 第一轮成绩及分数线汇总-CSDN博客

CSP-J CSP-S 初赛相关的书籍

CSP-J CSP-S 初赛相关的书籍_csp带什么书_dllglvzhenfeng的博客-CSDN博客

CSP-J1 CSP-S1 第1轮 初赛 考前强化训练

CSP-J1 CSP-S1 第1轮 初赛 考前强化训练-CSDN博客

http://www.xdnf.cn/news/844057.html

相关文章:

  • d3dcompiler_43.dll丢失了怎么办,详细解答和d3dcompiler_43.dll修复方法
  • 常用的自动化测试工具有哪些?
  • 阿里巴巴中国站1688商品详情API:获取商品详情的指南和最佳实践
  • 微信小程序云开发使用方法新手初体验
  • U盘内数据防拷贝的方法:U盘里面的文件怎么不让复制
  • Go 语言开发工具
  • 木马彩衣的原理和代码示例
  • VBA:VBA常用小代码合集
  • Win32中调用其他应用程序的方法(函数)winexec,shellexecute ,createprocess
  • JS弹出确认、取消对话框
  • PT100温度采集
  • 《linux命令行和shell脚本编程宝典》学习笔记1(第一章至第六章)
  • HTTP知识
  • Android高级架构进阶之数据传输与序列化
  • 现今最强引擎对比!虚幻3 vs CE2 vs 寒霜2.0
  • 我是开发顶贴机的qq是525—093-551十二年工作经验
  • (AVG)Antivirus 如何卸载
  • java uniqueresult_Hibernate之Query接口的uniqueResult()方法详解
  • 基于Android的小说在线阅读器软件APP
  • 企业级大数据安全架构(八)FreeIPA高可用部署
  • android+4.2系统,Android 4.2系统全面解析
  • asp毕业设计——基于asp+access的教师信息管理系统设计与实现(毕业论文+程序源码)——教师信息管理系统
  • final swfplayer安卓10/11/12上都能播放flash播放器源码
  • 网站建设软件开发小程序制作|企业APP定制
  • 腾讯云阿里云云服务器 Linux 操作系统 BT 宝塔面板快速建站教程
  • 利用linux BT5来破解无线 破解无线
  • Android 10.0 systemui状态栏充电状态下电池电量100%时显示闪电图标问题解决
  • R语言基本操作
  • 连连看外挂制作 —— 无限时间(2)
  • 2024年AI赚钱全攻略:这些方法,让你的月收入翻几番!