zoukankan      html  css  js  c++  java
  • NYOJ 95 众数问题(sort)

    众数问题

    时间限制:3000 ms  |           内存限制:65535 KB
    难度:3
     
    描述

    所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数,

    多重集合S重的重数最大的元素成为众数。例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3。

    现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数。

     
    输入
    第一行为n,表示测试数据组数。(n<30) 每组测试的第一行是一个整数m,表示多重集S中元素的个数为m 接下来的一行中给出m(m<100)个不大于10万的自然数 (不会出现不同元素出现的次数相同的情况,如:S={11,11,22,22,33,33})。
    输出
    每组测试数据输出一行,包含两个数,第一个是众数,第二个是其重数,中间以空格隔开。
    样例输入
    1
    6
    1 2 2 2 3 5
    样例输出
    2 3
    
    思路1:数组下标,费时
     
    #include<stdio.h>
    #include<string.h>
     int a[100001];
     int main()
     {
         int n,m,max,p,t,i;
         scanf("%d",&n);
         while(n--)
         {
         memset(a,0,sizeof(a));
         scanf("%d",&m);
         for(i=0;i<m;i++)
         {scanf("%d",&t); a[t]++;}
         max=a[0]; p=0;
         for(i=0;i<100001;i++)
            if(a[i]>max){max=a[i];p=i;}
         printf("%d %d
    ",p,a[p]);
         }
     }
            
    View Code

    思路2:排序

     1 #include<iostream>
     2  #include<algorithm>
     3  using namespace std;
     4  int a[100];
     5  int main()
     6  {
     7      int m,n;
     8      int i;
     9      cin>>n;
    10      while(n--)
    11      {
    12          cin>>m;
    13          for(i=0;i<m;i++) cin>>a[i];
    14          sort(a,a+m);
    15          int prev=1000000,sum=0;
    16          int max=0,maxnum;
    17          for(i=0;i<m;i++)
    18          {
    19              if(a[i]!=prev)//下一个数
    20              {
    21              prev=a[i];
    22              sum=1;
    23              if(sum>max) {max=sum;maxnum=prev;}
    24              }
    25              else
    26              {
    27              sum++;
    28              if(sum>max) {max=sum;maxnum=prev;}
    29              }
    30         }
    31     cout<<maxnum<<" "<<max<<endl;
    32    }
    33  return 0;
    34  }
    View Code
  • 相关阅读:
    数据库之主表、从表、主键、外键
    eclipse编写js代码没有提示
    思维导图xmind的使用方法
    整理一下Apache与Tomcat的关系
    全栈开发者,一个很好的自学编程网站
    svn文件被锁不能提交的解决办法
    在SQL Server数据库中执行存储过程很快,在c#中调用很慢的问题
    php安装redis扩展
    PHP点击按钮拷贝
    PHP文件下载
  • 原文地址:https://www.cnblogs.com/luoshuihanbing/p/3288910.html
Copyright © 2011-2022 走看看