找出一个数组中出现次数最大的数
时间:2022-04-22
本文章向大家介绍找出一个数组中出现次数最大的数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
描叙:一大堆数据里面,数字与数字之间用空格隔开,找出出现次数最多的一个数字的算法
#include<stdio.h>
void FindMostTimesDigit(int *Src , int SrcLen)
{
int element , has = SrcLen;
int MaxNum , TempCount = 0 , MaxCount = 0;
int i , j , *result = new int[];
while(0 != has)
{
TempCount = 0;
element = Src[has - 1];
for(j = has - 1 ; j >= 0 ; --j)
{
// 如果找到,则计数加1,然后将数据和末尾交换
// 这也是为何要从末尾开始循环的理由
if(element == Src[j])
{
TempCount++;
// 把后面的数据移动到前面来
Src[j] = Src[has - 1];
has--;
}
}
if(TempCount > MaxCount)
{
MaxCount = TempCount;
MaxNum = 0;
result[MaxNum] = element;
}
else if(TempCount == MaxCount)
{
result[++MaxNum] = element;
}
}
printf("出现最多的次数:%dn" , MaxCount);
for(i = 0 ; i <= MaxNum ; ++i)
{
printf("%d " , result[i]);
}
printf("n");
}
int main()
{
int list[]={1,2,3,4,3,3,2,2,1,1,4,4,4,1,2};
int length =sizeof(list) / sizeof(int);
FindMostTimesDigit(list, length);
return 0;
}
C++解法如下:
1 #include<iostream>
2 #include<map>
3 #include<utility>
4 using namespace std;
5
6 int main()
7 {
8 map<int , int> word_count;
9 int number;
10 while(cin>>number)
11 {
12 pair<map<int , int>::iterator , bool> ret = word_count.insert(make_pair(number , 1));
13 if(!ret.second)
14 ++ret.first->second;
15 }
16
17 for(map<int , int>::iterator iter = word_count.begin() ; iter != word_count.end() ; ++iter)
18 cout<<(*iter).first<<"tt"
19 <<(*iter).second<<endl;
20
21 return 0;
22 }
更简洁的方法如下:
1 #include<iostream>
2 #include<map>
3 #include<utility>
4 using namespace std;
5
6 int main()
7 {
8 map<int , int> word_count;
9 int number;
10
11 while(cin>>number)
12 ++word_count[number];
13
14 for(map<int , int>::iterator iter = word_count.begin() ; iter != word_count.end() ; ++iter)
15 cout<<(*iter).first<<"tt"
16 <<(*iter).second<<endl;
17
18 return 0;
19 }
- 前端插件——头像截图上传插件的使用(带后台)
- 如何减轻ajax定时触发对服务器造成的压力和带宽的压力?ajax-长轮训
- Spark源码之Standalone模式下master持久化引擎讲解
- spring整合quartz
- android沉浸式状态栏的实现
- Jayrock: JSON and JSON-RPC for .NET
- rabbitMQ教程(三) spring整合rabbitMQ代码实例
- 谈谈序列化—实体bean一定要实现Serializable接口?
- Kafka源码系列之通过源码分析Producer性能瓶颈
- 微软在动态语言支持上超越了Java?
- JAVA图片批量上传JS-带预览功能
- Netty-Websocket 根据URL路由,分发机制的实现
- DrawerLayout实现网易新闻抽屉效果
- shiro权限控制(一):shiro介绍以及整合SSM框架
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【赵渝强老师】什么是Oracle的数据字典?
- antd 如何在 src目录下 引入 Public 目录下的文件
- (精编)Python与安全(三)SSTI服务器模板注入
- 一年经验Java开发0713面试
- 【分享】MicroBlaze大内部存储器(AXI BRAM)设计
- Spring Beans 自动装配
- Python将txt文件内容转换成列表
- 刷题记录-猿辅导2020
- redis stream(一):stream命令入门
- os.path.basename()
- 利用frida与ida实战脱壳360加固
- 你知道C语言中的危险函数吗?
- python与安全(四)shell反弹
- 怎么快速修复 bug ?
- 变量类型(cpu/gpu)