2018复旦计院机试(1)

1,求众数,众数就是一个序列中出现次数最多的数字。如果不唯一,则输出小的那个值。给定第一行:代表有几个数字(1<=n<=10^5),每个数字在int范围内

样例

输入
8
10 3 8 8 3 2 2 2

输出
2

#include<cstdio>
#include<algorithm>
using namespace std;
int main(){
    int n;
    int a[100010];
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    sort(a,a+n);
    int sum=0,max=-1,k;
    for(int i=0;i<n;i++){
        if(a[i]==a[i+1]){
            sum++;
        }
        else sum=0;
        if(sum>max){
            max=sum;
            k=i;
        }
    }
    printf("%d\n",a[k]);
}

发布了102 篇原创文章 · 获赞 2 · 访问量 1708

猜你喜欢

转载自blog.csdn.net/qq_43307196/article/details/104457477