求前m大的数 c语言#includevoid main(){int a[50000],b[50000];int n,m,

学习 时间:2026-04-06 18:58:26 阅读:5724
求前m大的数 c语言#includevoid main(){int a[50000],b[50000];int n,m,i,t,s,j,k;while(scanf("%d %d",&n,&m)==2){for(i=0;i

最佳回答

狂野的河马

俊逸的月光

2026-04-06 18:58:26

这个好像不能用c的库函数qsort,没办法自己写个快速排序函数吧,快速排序函数的时间复杂度是O(nlogn),是不会超时的,我的想法是先对输入的数据按降序进行排序,然后再选择前面的m个不重复的数输出就可以了
#include
int a[1000001];
int n,m;
int partitions(int a[],int low,int high)
{
int pivotkey=a[low];
while(low

最新回答共有2条回答

  • 淡然的航空
    回复
    2026-04-06 18:58:26

    这个好像不能用c的库函数qsort,没办法自己写个快速排序函数吧,快速排序函数的时间复杂度是O(nlogn),是不会超时的,我的想法是先对输入的数据按降序进行排序,然后再选择前面的m个不重复的数输出就可以了#include int a[1000001];int n,m;int partitions(int a[],int low,int high){ int pivotkey=a[low]; while(low

上一篇 感恩教育报告会观后感500字

下一篇 壁挂锅炉怎么烧暖气吗