题解 | #查找第K小数#

查找第K小数

https://www.nowcoder.com/practice/204dfa6fcbc8478f993d23f693189ffd

#include <iostream>
using namespace std;

#define N 1000
//冒泡排序
void Mysort(int a[],int n){
	int i,j;
	for (i = 0;i<n-1;i++){
		int flag = 1;
		for (j = 0; j < n-i-1;j++){
			if (a[j]>a[j+1]){
				int temp = a[j];
				a[j] = a[j+1];
				a[j+1] = temp;
				flag = 0;
			}
		}
		if (flag) break;
	}
}
int main(){
	int n;
	while(cin >> n && n != 0){
		int i,j,count = 0,k,a[N];
	  //输入
		for (i = 0; i < n; i++) cin >>a[i];
		cin >>k;
	  
		Mysort(a,n);//排序
	  
		for (i = 0;i<n&&count <k;i++){
			count++;	//记录现在是第几小
			j = i+1;
			while(a[i]==a[j])j++;	//j指向第一个和i不等的数
			i=j-1;
		}
		cout <<a[i-1]<<endl;
	}
}

全部评论

相关推荐

27双非本,最近面试被挂麻了面试官说简历内容太简单了,技术栈要单独一行,各位佬有啥建议吗
LZStarV:项目太简单了,你像用什么开发的技术栈没必要写一句话,按点写就好了;有特色的比如说WebSocket、视频流这种狠狠吹,那就好看多了
点赞 评论 收藏
分享
牛客83265014...:完了,连现在都没开始面,13号投的是不是晚了
秋招的第一个offer,...
点赞 评论 收藏
分享
迷茫的大四🐶:摊牌了,我是25届的,你们也不招我
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务