如何找出数组中重复次数最多的数
2016-05-12 22:00
162 查看
数组{1,1,2,2,4,4,4,4,5,5,6,6,6},问题是找出出现重复次数最多的数,该数组重复出现次数最多的是4,本问题我使用map映射表,通过引入map表,map是STL的一个关联的容器,它提供一对一的数据处理能力,其中第一个关键字,每个关键字只能在map中出现一次,第二个称为该关键字的值,来记录每一个元素出现的次数,然后判断次数的大小,进而找出重复次数最多的元素。
程序实例如下,环境是VC6.0:
程序实例如下,环境是VC6.0:
#include <iostream> #include <map> using namespace std; bool findMostFrequentInArray(int *a,int size,int &val) { if(size == 0) { return false; } map<int,int> m; for(int i=0;i<size;i++) { if(++m[a[i]]>=m[val]) val=a[i]; } } int main() { int a[]={1,1,2,2,4,4,4,4,5,5,6,6,6}; int val=0; if(findMostFrequentInArray(a,11,val)) { cout<<val<<endl; } }
相关文章推荐
- Guid的使用
- Maven依赖进阶
- Scrum 项目3.0
- 爬虫--Scrapy
- SPI协议
- 【C/C++】:如何获得一个float数的小数位数?
- 微信公众号运营手册
- Android事件的分发机制
- linux 重定向 1>&2 2>&1的各种变形理解
- HDU4848WoW
- 设计模式之代理模式
- 使用multi-paxos实现日志同步应用
- Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果
- 学习进度条第十二周
- findViewById(R.id.xxx)返回Null
- Java中的继承
- 有道翻译API+Jackson+HttpClient
- 设计模式学习---代理类
- cnblogs.com的用户体验
- 面试-java算法题