当前位置:网站首页>CCF刷题之旅--第一题
CCF刷题之旅--第一题
2022-08-02 03:33:00 【风华同学】
寻找出现次数最多的数
题目描述
给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
输入
输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。
输出
输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。
#include <iostream>
using namespace std;
/* * * 利用哈希表来表示每个数出现的次数 * step1:创建一个哈希数组 * step2:每个数字带表了数组的下标 * step3:,每次出现一个数字则数组的值加一 * step4:在通过遍历数组找到数组的值最大的那个并且将其赋值给要求的出现次数最多的数字(由于数组的下标是从0开始的,所以不需要另外比较相同次数中较小的那个数字) */
int main()
{
int s[1000] = {
0 };
int n;
int num,ans;
int flag = 0;//标志着每个数字出现的次数
int max = 0;//找到最大的数字
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> num;
s[num]++;
if (num > max)
{
max = num;
}
}
for (int i = 0; i <= max; i++)
{
if (s[i] > flag)//这里为>而不是>=(用来比较出现次数的多少)
{
flag = s[i];
ans = i;//ans代表着找到的那个数字
}
}
cout << ans;
}
边栏推荐
- 【plang 1.4.6】Plang高级编程语言(发布)
- WebApp 在线编程成趋势:如何在 iPad、Matepad 上编程?
- LL(1)文法 :解决 if-else/if-else 产生式二义性问题
- 增量编译技术在Lightly中的实践
- Modify hosts file using batch script
- 引擎开发日志:重构骨骼动画系统
- 进程(中):进程状态、进程地址空间
- 【LeetCode】设计链表
- Comparative analysis of mobile cloud IoT pre-research and Alibaba Cloud development
- OneNET Studio与IoT Studio对比分析
猜你喜欢
随机推荐
【科普贴】SD卡接口协议详解
【nRF24L01 connects with Arduino to realize wireless communication】
C语言教程 - 制作单位转换器
工业边缘网关究竟强大在哪里?
GM8775C规格书,MIPI转LVDS,MIPI转双路LVDS分享
【Popular Science Post】UART Interface Communication Protocol
【数据库】事务的四大特性<详解>
IDEA2021.2安装与配置(持续更新)
Beckhoff ET2000 listener use
写博客的原因。
408-Binary tree-preorder inorder postorder level traversal
【MQ-3 Alcohol Detector and Arduino Detect Alcohol】
振芯科技GM8285C:功能TTL转LVDS芯片简介
PCB设计思路
【科普贴】MDIO接口详解
GM7150,振芯科技,视频解码器,CVBS转BT656/601,QFN32,替换TVP5150/CJC5150
使用buildroot制作根文件系统(龙芯1B使用)
引擎开发日志:场景编辑器开发难点
USB2.0一致性测试方法_高速示波器
龙芯2K1000使用nfs挂载文件系统进行使用









