寻找一组数的最大值并统计出现次数
题目如下:
用我蹩脚的英文水平翻译如下:
寻找最大值和它的出现次数
问题描述:
请书写一个能读取一组整数的程序,寻找其中的最大值并统计出现次数。
假设最后一个输入数字为0。比如说你输入 3 5 2 5 5 5 0,那么这个程序就能找到最大值是5并且统计5的出现次数是4(提示:定义两个变量,max和count。max存储最大的数字,count存储最大值的出现次数。
最初赋值第一个数为max并把count赋值为1,遍历剩下的数字并与之做比较。
如果这个数大于max,则把它赋值为max,同时重置count为1,如果这个数等于max,则把count自增1)
这是demo样例
根据题意写出代码如下:
<?php $array=array(3,5,2,5,5,5,0); function find_max_count($array=array()) { $array=array_values($array);//强制性转换为索引数组 if(empty($array)) { return false;//如果数组为空 则立刻返回false } $length=count($array);//统计数组长度 $max=$array[0];//取出第一个作为最大值 $count=1;//初始化设定统计次数为1 for ($i=1; $i <$length ; $i++) { if($array[$i]>$max) { $max=$array[$i];$count=1;//如果当前遍历元素大于最大值,说明要重新赋值最大值并重置统计次数为1 }elseif($array[$i]==$max) { $count++;//如果等于最大值说明还是它,将出现次数+1 }else { continue;//这说明是小于最大值的 直接跳过 } } return array("max"=>$max,"count"=>$count);//返回统计结果 } var_dump(find_max_count($array)); ?>
效果如图:
这是根据题意的方法,我这里提供另外一种思路
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战