(每日心得)
今天,早上在哔哩哔哩网站上看数据结构的学习视频,进一步学习数据结构的相关知识,了解到单链表及其插入删除;下午在洛谷上进行了刷题训练,
晚上做算法冬令营的题目从下题解题方法学习到了不用快排也能通过循环解决
sort
给你n个整数,请按从大到小的顺序输出其中前m大的数
Input
每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。
Output
对每组测试数据按从大到小的顺序输出前m大的数。
Sample Input
5 3
3 -35 92 213 -644
Sample Output
213 92 3
#include<stdio.h>
#define o 500000
int main(){
int n,m,i,x,hash[1000001];
while(scanf("%d%d",&n,&m)!=EOF){
for(i=-500000;i<=500000;i++){
hash[i+o]=0;
}
for(i=0;i<n;i++){
scanf("%d",&x);
hash[x+o]=1;
}
for(int i=500000;i>=-500000;i--){
if(hash[i+o]==1){
printf("%d",i);
m--;
if(m != 0)
printf(" ");
else{
printf("\n");
break;
}
}
}
}
return 0;
}在这里插入代码片