求n个数中出现次数最多的数 (UPC)

题目描述

从键盘读入n个整数(n<=100),这n个数都是1~10之间的数,请求出出现次数最多的数是哪个数?
比如:假设读入5个数,分别为1 2 3 3 5,出现次数最多的数就是3。(本题的数据确保出现次数最多的数只有1个,不存在多个数出现的次数都最多的情况)

输入

第1行输入一个整数n。
第2行输入n个整数,用空格隔开。

输出

输出出现次数最多的数。

样例输入 Copy
5
1 2 3 3 5
样例输出 Copy
3

代码实现:

#pragma GCC optimize(2)
#include
using namespace std;
int main()
{
    int arr[11] = {0};
    int n;
    cin>>n;
    int num;
    for (int i = 1; i <= n; i++)
    {
        cin >> num;
        arr[num]++;
    }
    int mx=-1;
    int ans;
    for (int i = 1; i <= 10; i++)
    {
        if(arr[i] > mx)
        {
            mx = arr[i];
            ans = i;
        }
    }
    cout << ans;
    return 0;
}

你可能感兴趣的:(算法,c++)