搜索
写经验 领红包
 > 电器

众数问题算法分析(求解众数问题)

导语:众数问题

众数问题算法分析(求解众数问题)

ICPC--1201: 众数问题题目描述

给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。 例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。 编程任务: 对于给定的由n 个自然数组成的多重集S,编程计算S 的众数及其重数。

输入

第1行多重集S中元素个数n(n<=50000);接下来的n 行中,每行有一个自然数。

输出

输出文件有2 行,第1 行给出众数,第2 行是重数。(如果有多个众数,只输出最小的)

样例输入
6122235
样例输出
23
代码
define N 50010 int main() {    int wqs[N],ans[N];    int gdd[N];    int n,wei;    while(scanf(&34;,&n)!=EOF) {        for(int j=0; j<n; j++) {            scanf(&34;,&wqs[j]);            gdd[j]=wqs[j];            ans[j]=0;        }        for(int j=0; j<n; j++) {            for(int k=j+1; k<n; k++) {                if(wqs[j]==gdd[k]) {                    ans[j]++;                }            }        }        int max=-1;        for(int j=0; j<n; j++) {            if(ans[j]>max) {                max=ans[j];                wei=j;            }        }        printf(&34;,wqs[wei],max+1);    }    return 0; }
ICPC--1202: 作业调度方案

本文内容由小涵整理编辑!