Problem P02. [算法课分治] 寻找多数

都保证了有一个多数了,那就变成了求最多出现的那个数,因为数组中只有可能有一个多数。

#include<iostream>
#include<bits/stdc++.h>
#include<cstdio>

using namespace std;

int n;
int a[10005]={0};

int main()
{
    scanf("%d", &n);
    int idmax=0, valmax=0;
    for (int i = 0; i < n; i++){
        int x;
        scanf("%d", &x);
        a[x]++;
        if (a[x]>valmax){
            valmax = a[x];
            idmax = x;
        }
    }
    printf("%d", idmax);
    return 0;
}

posted @ 2022-09-02 14:13  白缺  阅读(105)  评论(0编辑  收藏  举报