2 shadowcw shadowcw 于 2016.03.16 22:50 提问

应该怎么用map找出次数最多的元素

例如这个题目 应该怎么做
After celebrating the midcourse the students of one of the faculties of the Berland State University decided to conduct a vote for the best photo. They published the photos in the social network and agreed on the rules to choose a winner: the photo which gets most likes wins. If multiple photoes get most likes, the winner is the photo that gets this number first.

Help guys determine the winner photo by the records of likes.

Input
The first line of the input contains a single integer n (1 ≤ n ≤ 1000) — the total likes to the published photoes.

The second line contains n positive integers a1, a2, ..., an (1 ≤ ai ≤ 1 000 000), where ai is the identifier of the photo which got the i-th like.

Output
Print the identifier of the photo which won the elections.

Examples
input
5
1 3 2 2 1
output
2
input
9
100 200 300 200 100 300 300 100 200
output
300

4个回答

caozhy
caozhy   Ds   Rxr 2016.03.16 23:32
 #include <map>
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    map<int, int> _map;
    int n = 0;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        int x = 0;
        cin >> x;
        _map[x]++;
    }
    int max = 0;
    int maxval = 0;
    for (map<int, int>::iterator ltr = _map.begin(); ltr != _map.end(); ltr++)
    {
        if (ltr->second >= max)
        {
            maxval = ltr->first;
            max = ltr->second;
        }
    }
    cout << maxval;
    return 0;
}
caozhy
caozhy 回复shadowcw: 如果问题解决麻烦采纳下吧。
接近 2 年之前 回复
shadowcw
shadowcw 谢谢大神
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.03.16 23:33

帮你写了一个,休再说看不懂。

caozhy
caozhy 回复shadowcw: 点下我回答右边的采纳按钮,谢谢
接近 2 年之前 回复
shadowcw
shadowcw 非常感谢啊
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.03.16 23:17
shadowcw
shadowcw 这个博客我看过 看不懂 能力有限啊 不好意思
接近 2 年之前 回复
oyljerry
oyljerry   Ds   Rxr 2016.03.16 23:09

用元素做map的key 遍历数据 把数据做key对应的map value加一 最后统计

shadowcw
shadowcw 回复oyljerry: 那如何找到那个是第一个满足最大值的 是比较下标吗
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!