文章

28

粉丝

0

获赞

98

访问

3.5k

头像
查找第K小数 题解:
P1383 北京邮电大学
发布于2025年3月18日 22:52
阅读数 155

#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n; //n个数据
vector<int> num(n);
for(int i=0;i<n;i++){
	cin>>num[i]; //循环对应进入动态数组;  
}
int m;
cin>>m;//要找第几个小的数;
stable_sort(num.begin(),num.end()); //进行排序(默认升序排序);
int flag=0;         //记录是第几个最小的数
for(int i=0;i<n;i++)
{
if(num[i]!=num[i+1]) flag++; //相等的话算一样大,flag只记录一次。
if(flag==m) cout<<num[i];  //若flag==m;此时即为那个第k小的元素
}
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发