数据统计

来源:互联网 发布:c语言左移 编辑:程序博客网 时间:2024/04/28 11:44

Problem D: 数字统计

Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 1488 Solved: 535

Description

给出一些数字,统计出现最多的数字的次数。

Input

输入中第一行包含一个N,0 < N <= 500000。

后面N行每行包含一个数字k,0<=k<=200000。

Output

输出出现次数最多的数字的个数。

Sample Input

511234

Sample Output

2

HINT

Append Code



坑爹的题,首先你要明白什么事数字。
#include<stdio.h>int main(){    int i,n;    scanf("%d",&n);    int num[200001]={0},a;    for(i=0;i<n;i++)    {        scanf("%d",&a);        num[a]++;    }    int max;    max=num[0];    for(i=1;i<=200000;i++)    {        if(num[i]>max)            max=num[i];    }    printf("%d",max);    return 0;}

下面有一个冒泡思想的,代码比较精炼:


#include<stdio.h># define N 200005int main(){    int i,n;    int max=-1,in,num[N]={0};    scanf("%d",&n);    for(i=0;i<n;i++)    {        scanf("%d",&in);        num[in]++;        if(max<in)            max=in;    }    for(i=0;i<max;i++)        if(num[i]>num[i+1])            num[i+1]=num[i];    printf("%d",num[max]);    return 0;}

0 0