如何找出数组中重复次数最多的数
3个回答
展开全部
用c++里的map可以很快记录每个元素的个数,然后迭代一次就可以找到了,具体看代码吧!(我的例子里传入的是一个vector型数组,也可以传入普通数组)
int find_max(vector<int> ar) {
int l = ar.size();
int ans = 0;
map<int,int> mp;
for(int i = 0; i < l; i++){
mp[ar[i]] ++;
}
map<int,int>::iterator it;
for(it=mp.begin();it!=mp.end();it++){
ans = max(ans,(it->second));
}
return ans;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设数组已排好序,时间复杂度为O(n);
//若数组未排序,此方法要先排序,用快排O(nlogn),总时间复杂度为O(nlogn)
//若数组未排序,此方法要先排序,用快排O(nlogn),总时间复杂度为O(nlogn)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询