• CCF真题之出现次数最多的数


    201312-1

    问题描述
      给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
    输入格式
      输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。   输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。
    输出格式
      输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。
    样例输入
    6 10 1 10 20 30 20
    样例输出
    10

    #include <iostream>
    #include <algorithm>
    using namespace std;
    struct total
    {
     int data;
     int num;
    }c[1001];
    int main()
    {
     int n,i,min,max,a[1001],b[10001]={0};
     int k;
     bool cmp(total a,total b);
     cin>>n;
     for(i=0;i<n;i++)
     {
      cin>>a[i];
      b[a[i]]++;
     }
        sort(a,a+n);
        min=a[0];
        max=a[n-1];
        k=0;
        for(i=min;i<=max;i++)
        {
          if(b[i]!=0)
          {
           c[k].data=i;
           c[k].num=b[i];
           k++;
          }
        }
        sort(c,c+k,cmp);
        cout<<c[0].data<<endl;
        return 0; 
     
    }
    bool cmp(total a,total b)
    {
     if(a.num>b.num) return true;
     else if(a.num==b.num)
       {
       if(a.data<b.data) return true;
       else
       return false;
       }
       else
     return false;
    }

  • 相关阅读:
    第五周的学习进度情况
    周末经历之小体会
    构建之法阅读笔记5
    第四周的学习进度情况
    hashMap中如何形成循环链表的?
    代理模式
    sharing-jdbc实现读写分离及分库分表
    分库分表
    读写分离实现方式
    MySQL主从复制
  • 原文地址:https://www.cnblogs.com/lchzls/p/5034328.html
Copyright © 2020-2023  润新知