候鸟解决方案 - PHP-

Migratory Birds solution - PHP-

我在 PHP 中为这个 practice 写了这个解决方案,但它并不适用于所有情况:

给定一个鸟类观察数组,其中每个元素代表一个鸟类类型 id,请确定最常看到的类型的 id。如果发现超过 1 种类型的最大数量,return 最小的 ID。

arr=[1,1,2,2,3]

示例

类型 1 和类型 2 各有两个,还有一个类型 .3 在看到两次的两种类型中选择较低的类型:类型 1。

函数说明

在下面的编辑器中完成migratoryBirds功能。

migratoryBirds 具有以下参数:

int arr[n]: 观察到的鸟类种类 Returns

int:最常见鸟类的最低类型id 输入格式

第一行包含一个整数 n ,其大小为 arr 。 第二行将 arr 描述为 n 个 space 分隔的整数,每个整数都是所见鸟类的类型编号。

约束条件 5 < n < 2 X 10 2

保证每个类型都是1,2,3,4,5。
样本输入 0
6个
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;
}



我该如何解决?

这样写你的条件

if($a1>=$a2 && $a1>=$a3 && $a1>=$a4 && $a1>=$a5){
        $result=1;    
    }
     else if($a2>=$a1 && $a2>=$a3 && $a2>=$a4 && $a2>=$a5){
         $result=2;   
    }
     else if($a3>=$a2 && $a3>=$a1 && $a3>=$a4 && $a3>=$a5){
         $result=3;
    }
    else  if($a4>=$a2 && $a4>=$a3 && $a4>=$a1 && $a4>=$a5){
         $result=4;
    }
    else if($a5>=$a2 && $a5>=$a3 && $a5>=$a4 && $a5>=$a1){
         $result=5;
    }
    else{
         $result=1;
    }