当前位置: 首页 > news >正文

week2-[一维数组]出现次数

week2-[一维数组]出现次数

题目描述

给定 NNN 个整数A1,A2,…,ANA_1,A_2,\ldots,A_NA1,A2,,AN。请求出这 NNN 个数中出现次数最多的数的出现次数,以及出现次数最少的数的出现次数。

输入格式

读入包括 222 行。第一行只有 111 个整数 NNN,表示数的个数。第二行包括 NNN 个整数 A1,A2,…,ANA_1,A_2,\ldots,A_NA1,A2,,AN

输出格式

输出只有 111 行,包括两个恰好用一个空格隔开的整数,分别表示 A1,A2,…,ANA_1,A_2,\ldots,A_NA1,A2,,AN 中出现次数最多的数的出现次数,以及出现次数最少的数的出现次数。

样例 #1

样例输入 #1

5
3 6 2 5 2

样例输出 #1

2 1

样例 #2

样例输入 #2

8
10 10 10 10 10 10 10 10

样例输出 #2

8 8

样例 #3

样例输入 #3

7
2 3 2 4 2 3 4

样例输出 #3

3 2

提示

样例解释1

3,6,2,5,23, 6, 2, 5, 23,6,2,5,2222 出现了 222 次,3,5,63,5,63,5,6 各出现了 111 次。因此出现次数最多的数出现了 222 次,出现次数最少的数出现了 111 次。

样例解释2

10,10,10,10,10,10,10,1010,10,10,10,10,10,10,1010,10,10,10,10,10,10,10 中只有 101010 这一种数字,其出现了 888 次,因此出现次数最多的数和出现次数最少的数的出现次数都是 888 次。

样例解释3

2,3,2,4,2,3,42,3,2,4,2,3,42,3,2,4,2,3,4222 出现了 333 次,333444 各出现了 222 次。因此出现次数最多的数出现了 333 次,出现次数最少的数出现了 222 次。

数据范围

对于所有数据,1≤N≤1000,0≤Ai≤1001 \le N \le 1000, 0 \le A_i \le 1001N1000,0Ai100

1. 阅读题目

  • 输入:
    • NNN:数的个数
    • NNN 个整数:A1,A2,…,ANA_1, A_2, \ldots, A_NA1,A2,,AN
  • 输出:
    • 两个数,中间空格隔开:
      • 出现次数最多的数的出现次数
      • 出现次数最少的数的出现次数

2. 分析问题

题目范围:

  • N≤1000N \le 1000N1000Ai≤100A_i \le 100Ai100
    👉 数据量小,可以直接用 频率统计数组

思路

  1. 建立一个频率数组 cnt[101](因为 Ai≤100A_i \le 100Ai100)。
  2. 遍历 AiA_iAi,统计每个数字出现的次数。
  3. 找到 cnt 中的最大值和最小值(注意:只考虑出现过的数字)。
  4. 输出这两个值。

3. C++ 代码实现

#include <iostream>
using namespace std;int main() {int N;cin >> N;int cnt[101] = {0};  // 用来统计出现次数for (int i = 0; i < N; i++) {int x;cin >> x;cnt[x]++;}int maxCnt = 0, minCnt = N + 1;for (int i = 0; i <= 100; i++) {if (cnt[i] > 0) { // 只考虑出现过的数字if (cnt[i] > maxCnt) maxCnt = cnt[i];if (cnt[i] < minCnt) minCnt = cnt[i];}}cout << maxCnt << " " << minCnt << "\n";return 0;
}

4. 示例运行

输入:

7
2 3 2 4 2 3 4

输出:

3 2

✅ 总结

  • 用数组 cnt 统计每个数字的出现次数。
  • 只在 cnt[i] > 0 时更新最大值/最小值。
  • 时间复杂度 O(N+100)O(N + 100)O(N+100),足够快。
http://www.dtcms.com/a/340468.html

相关文章:

  • css中的性能优化之content-visibility: auto
  • InfluxDB 查询性能优化实战(二)
  • 【解决方案】powershell自动连接夜神adb端口
  • 手撕线程池
  • AI 伦理的 “灰色地带”:当算法拥有决策权,公平与隐私该如何平衡?
  • C# NX二次开发:面收集器控件和曲线收集器控件详解
  • 边缘智能体:Go编译在医疗IoT设备端运行轻量AI模型(下)
  • DAY 51 复习日
  • Redis 复制功能是如何工作的
  • Android 开发问题:android:marginTop=“20px“ 属性不生效
  • 多系统 Node.js 环境自动化部署脚本:从 Ubuntu 到 CentOS,再到版本自由定制
  • 云原生俱乐部-k8s知识点归纳(5)
  • 自动化测试用例生成:基于Python的参数化测试框架设计与实现
  • MeterSphere断言操作
  • 多肽修饰——胆固醇(chol)
  • B站 XMCVE Pwn入门课程学习笔记(7)
  • sigmastar设备树引脚复用研究
  • 《GPT-OSS 模型全解析:OpenAI 回归开源的 Mixture-of-Experts 之路》
  • sqlalchemy 是怎么进行sql表结构管理的,怎么进行数据处理的
  • 【Svelte】load 函数中如何获取 url 信息?
  • 从基础到本质:文件 IO 操作全解析
  • 医学统计学常用方法汇总,差异性/相关回归/生存分析/一致性检验
  • windows electron-builder打包后应用图标更新问题
  • RabbitMQ:SpringAMQP 声明队列和交换机
  • 数据湖学习
  • 安装electron报错的解决方法
  • 换根DP(P3478 [POI 2008] STA-StationP3574 [POI 2014] FAR-FarmCraft)
  • 智慧冷库物联网解决方案——实现降本增效与风险可控的冷库管理新范式
  • 算法学习----Python数据结构--kmp字符串
  • gcc 与 g++ 的区别:本身不是编译器而是编译器驱动