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

AcWing 3533:查找第K小数 ← sort+unique

【题目来源】
https://www.acwing.com/problem/content/3536/

【题目描述】
查找一个长度为 n 的数组中第 k 小的数。
注意,相同大小算一样大,如 2 1 3 4 5 2 中,第三小的数为 3。

【输入格式】
第一行包含整数 n。
第二行包含 n 个整数,表示数组中元素。
第三行包含整数 k。

【输出格式】
输出第 k 小的整数。
数据保证有解。

【数据范围】
1≤k≤n≤1000
数组中元素取值范围 [1,10000]

【输入样例】
6
2 1 3 5 2 2
3

【输出样例】
3

【算法分析】
● 这是一道北京邮电大学考研机试题。

● 本代码利用 STL 中的
sort+unique 实现。
sort 函数用法:
https://blog.csdn.net/hnjzsyjyj/article/details/130524018
unique 函数用法:https://blog.csdn.net/hnjzsyjyj/article/details/127197232
切记,STL unique 函数并没有将重复的元素删去,而是依序排在了不重复元素的后面。

● 本题的 STL set 实现:https://blog.csdn.net/hnjzsyjyj/article/details/146330773

● 本题的 STL map 实现:https://blog.csdn.net/hnjzsyjyj/article/details/146330963

【算法代码】

#include <bits/stdc++.h>
using namespace std;const int maxn=1e3+5;
int a[maxn];int main() {int n,k;cin>>n;for(int i=1; i<=n; i++) cin>>a[i];sort(a+1,a+1+n);unique(a+1,a+1+n);cin>>k;cout<<a[k];return 0;
}/*
in:
6
2 1 3 5 2 2
3out:
3
*/



【参考文献】
https://www.acwing.com/solution/content/272131/
https://www.acwing.com/solution/content/96026/
https://blog.csdn.net/hnjzsyjyj/article/details/146117096

 


 


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

相关文章:

  • Docker和containerd之概览(Overview of Docker and Containerd)
  • 蓝桥杯备赛(基础语法4)
  • ngx_http_core_srv_conf_t
  • JUC大揭秘:从ConcurrentHashMap到线程池,玩转Java并发编程!
  • Java高级编程深度解析:JVM底层原理、设计模式与Java 8+新特性实战
  • 剑指 Offer II 109. 开密码锁
  • Windows 图形显示驱动开发-WDDM 3.0功能- 硬件翻转队列(三)
  • 基于PyQt5与Open3D的轻量化BIM工具开发指南(上)‌
  • ★ Linux ★ 进程(上)
  • 从C语言开始的C++编程生活(1)
  • 深入剖析React中setState的执行机制与实现原理
  • DeepSeek辅助学术写作中期能力及提示词分享
  • keepalived的工作原理和脑裂
  • 微服务面试题:服务网关和链路追踪
  • PHP、Java、Go、Python、Node.js、Ruby 写的接口,服务器承载量对比
  • STC89C52单片机学习——第25节: [11-1]蜂鸣器
  • 搜广推校招面经五十四
  • vuex持久化存储,手动保存到localStorage
  • 清晰易懂的Java8安装教程
  • 【Mac 从 0 到 1 保姆级配置教程 08】08. 快速配置 Neovim、LazyVim 以及常用开发环境,如果之前有人这么写就好了