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
  • 相关阅读:
    javascript模拟jQuery封装委托事件,兼容IE
    javascript事件有哪些?javascript的监听事件
    javascript阻止事件冒泡的兼容写法及其相关示例
    Spring的特点
    异常以及为什么要学异常
    Windows下干活儿辅助软件
    Oracle EBS SLA 详解
    EBS获取并发程序Trace File
    EBS Custom Password Rules
    Oracle PLSQL读取(解析)Excel文档
  • 原文地址:https://www.cnblogs.com/luoshuihanbing/p/3288910.html
Copyright © 2011-2022 走看看