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

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

题目描述

输入 n n n( 1 ≤ n < 5000000 1 \le n < 5000000 1≤n<5000000 且 n n n 为奇数)个数字 a i a_i ai( 1 ≤ a i < 10 9 1 \le a_i < {10}^9 1≤ai<109),输出这些数字的第 k k k 小的数。最小的数是第 0 0 0 小。

请尽量不要使用 nth_element 来写本题,因为本题的重点在于练习分治算法。

输入格式

第一行有两个整数,分别表示 n n n 和 k k k。

第二行有 n n n 个整数,第 i i i 个数表示 a i a_i ai。

输出格式

一个整数,表示第 k k k 小的数。

输入输出样例 #1

输入 #1

复制代码
5 1
4 3 2 1 5

输出 #1

复制代码
2
cpp 复制代码
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
int n,k;
int main()
{
	scanf("%d%d",&n,&k);
	int tmp;
	vector<int> a;
	for(int i=1;i<=n;++i)
	{
		scanf("%d",&tmp);
		a.push_back(tmp);
	}
	nth_element(a.begin(),a.begin()+k,a.end());
	printf("%d",a[k]);
	return 0;
}

非常的直接

相关推荐
shehuiyuelaiyuehao10 天前
算法46,分治快排,排序数组
java·算法·排序算法·排序
Logic10112 天前
C语言/数据结构字符串题解:找出DNA序列中未配对的独特序列——排序+遍历(O(nlogn))
c语言·数据结构·字符串·数组·排序·时间复杂度·算法题
2601_9622998818 天前
排序,然后再使用
python·排序·列表·关键函数·装饰-排序-去装饰
Jasmine_llq20 天前
《P15803 [GESP202603 七级] 物流网络》
排序·贪心离线枚举策略(核心解题思想·分批处理 / 双指针扫描·dijkstra单源最短路算法·无向图建图(邻接表)·最短路拼接计算候选答案·边界补充:普通无优惠最短路
aqiu1111111 个月前
【算法刷题】蓝桥杯/AtCoder:删除元素后的中位数问题(Symmetry / Median)
算法·蓝桥杯·排序·中位数
aqiu1111111 个月前
【算法刷题】蓝桥杯:0星际争霸(大数比较 + 多关键字自定义排序)
算法·排序·自定义排序
aqiu1111111 个月前
【算法刷题】蓝桥杯:怎么倒茶(贪心算法 + 结构体排序)
贪心·排序
OuO-21 个月前
笔试强训 Day 43:kotori 和抽卡(二)、ruby 和薯条、循环汉诺塔
数学·前缀和·二分查找·动态规划·排序·滑动窗口·循环汉诺塔
Tisfy2 个月前
LeetCode 3731.找出缺失的元素:哈希 / 排序
算法·leetcode·哈希算法·排序·哈希表
Tisfy2 个月前
LeetCode 3016.输入单词需要的最少按键次数 II:排序(贪心)
linux·算法·leetcode·题解·贪心·排序·计数