我用PHP为practice编写了这个解决方案,但它并不适用于所有情况:
给定一个观鸟的数组,其中每个元素代表一个鸟的类型id,确定最常被看到的类型id。如果超过一个类型被发现达到最大数量,返回它们id中最小的。
arr=[1、1、2、2、3]
示例
类型1和类型2各有两个,类型3有一个瞄准。选择两次看到的两个类型中较低的一个:类型1。
功能描述
在下面的编辑器中完成migratoryBirds函数。
migratoryBirds具有以下参数:
int arr[n]:所见鸟类的种类
int:最常见鸟类的最小类型id输入格式
第一行包含一个整数n,表示arr的大小,第二行将arr描述为n个以空格分隔的整数,每个整数表示所看到的鸟的类型号。
约束条件5〈n〈2 X 10 2
保证每个类型为1、2、3、4或5。
样品输入0
六个
1 4 4 4 5 3
样本输出0
4
这是我的密码
function migratoryBirds($arr) {
// Write your code here
$length=count($arr);
$a1=0;$a2=0;$a3=0;$a4=0;$a5=0;
for($i=0; $i < $length; $i++){
if($arr[$i]==1){
$a1++;
}
if($arr[$i]==2){
$a2++;
}
if($arr[$i]==3){
$a3++;
}
if($arr[$i]==4){
$a4++;
}
if($arr[$i]==5){
$a5++;
}
}
if($a1>=$a2 && $a1>=$a3 && $a1>=$a4 && $a1>=$a5){
$result=1;
}
if($a2>=$a1 && $a2>=$a3 && $a2>=$a4 && $a2>=$a5){
$result=2;
}
if($a3>=$a2 && $a3>=$a1 && $a3>=$a4 && $a3>=$a5){
$result=3;
}
if($a4>=$a2 && $a4>=$a3 && $a4>=$a1 && $a4>=$a5){
$result=4;
}
if($a5>=$a2 && $a5>=$a3 && $a5>=$a4 && $a5>=$a1){
$result=5;
}
return $result;
}
我该怎么解决呢?
4条答案
按热度按时间hrysbysz1#
这样写你的条件
wh6knrhe2#
给定一个观鸟的数组,其中每个元素代表一个鸟的类型id,确定最常被看到的类型id。如果超过一个类型被发现达到最大数量,返回它们id中最小的。
对于这个问题我写了一个代码。它通过了所有的测试用例。
我的代码如下:
导入数学导入操作系统导入随机导入重新导入系统
候鸟(目):
如果名称==“主”:
qqrboqgw3#
在这里试试这个:
9o685dep4#
希望这对你有帮助。