
求一数组中出现最多的数字的次数
初始化一个大小为10的数组 遍历1到1000的每个数 对于每个数 每次提取数字时,将相应的 在所有数字处理完后,检查
发布日期:2021-05-10 23:37:01
浏览次数:16
分类:精选文章
本文共 909 字,大约阅读时间需要 3 分钟。
想找到1到1000中出现次数最多的数字,可以使用一个数组记录每个数字的次数,然后遍历每个数字并提取其各位数字,更新数组中的计数。最后,比较数组中的数字,找到出现次数最多的那个。这种方法采用了空间换时间的策略,使用较小的内存空间来提高处理效率。
步骤解释:
counts
,每个元素初始化为0,用于记录0到9这十个数字的出现次数。n
。n
,重复提取其最后一位数字,直到所有位数都被处理。counts
数组位置加一。counts
数组,找到出现次数最多的数字及其对应的次数。代码实现:
void main() { int counts[10] = {0}; // 数组索引0-9记录数字0-9的统计 for (int n = 1; n <= 1000; n++) { int num = n; while (num != 0) { int digit = num % 10; // 提取最后一位数字 counts[digit]++; num /= 10; // 移除最后一位 } } int max_count = 0; int max_digit = 0; for (int digit = 0; digit < 10; digit++) { if (counts[digit] > max_count) { max_count = counts[digit]; max_digit = digit; } } printf("出现次数最多的是%d, 出现次数为%d\n", max_digit, max_count);}
这个方法通过高效的数字提取和计数方式,确保在较小的空间内完成任务,时间复杂度在合理范围内,能够迅速找到出现频率最高的数字。
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年04月29日 21时11分02秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
将windows里的内容直接复制粘贴到ubuntu,提高效率
2019-03-15
将tomcat设置成window自启动服务
2019-03-15
GC overhead limit exceeded
2019-03-15
mysql高可用
2019-03-15
17蓝桥试题之承压计算
2019-03-15
webservice 远程服务器返回错误:(400)错误的请求
2019-03-15
给JS对象添加扩展方法
2019-03-15
火焰纹章系列作历史
2019-03-15
bat中rar压缩命令
2019-03-15
[日常] PHP与Mysql测试kill慢查询并检验PDO的错误模式
2019-03-15
[日常] Go语言圣经-并发的非阻塞缓存
2019-03-15
[PHP] 工厂模式的日常使用
2019-03-15
[PHP] 控制反转依赖注入的日常使用
2019-03-15
[PHP] try catch在日常中的使用
2019-03-15
[Linux] 进程间通信
2019-03-15
[PHP] error_reporting(0)可以屏蔽Fatal error错误
2019-03-15
[PHP] 解决php中上传大文件的错误
2019-03-15
[Linux] 使用awk比较两个文件的内容
2019-03-15
[Git] 彻底删除github上的某个文件以及他的提交历史
2019-03-15
[Go] gin框架渲染html字符串
2019-03-15