【频繁元素--通过率90%求教】

#include<bits/stdc++.h>
using namespace std;
int main(){
    map<long long int,int> myMap;
    long long int x;
    int n;
    scanf("%d", &n);
    //map数据输入
    for(int i = 0; i < n; i++){
        //scanf("%d",&x);
        cin >> x;
        if(myMap.find(x)==myMap.end()){
            myMap[x] = 1;
        }
        else{
            myMap[x] += 1;
        }
    }
    //查找最大频率数字key
    long long int key;
    int max_n;
    key=myMap.begin()->first,max_n=myMap.begin()->second;
    for(auto &it : myMap){
        if(it.second > max_n){max_n = it.second;key = it.first;}
    }
    cout << key << endl;
    
    return 0;
}
代码通过率只有90%,请教大佬帮忙查看错误原因
全部评论
应该是因为使用map是对第一个元素有序排列,可以参考这个
点赞 回复
分享
发布于 2023-09-17 10:57 辽宁

相关推荐

头像
04-26 15:00
已编辑
算法工程师
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务