Heim > Backend-Entwicklung > PHP-Tutorial > So implementieren Sie die statistische Methode für Zahlen, die mehr als die Hälfte in einem Array in PHP erscheinen (Code)

So implementieren Sie die statistische Methode für Zahlen, die mehr als die Hälfte in einem Array in PHP erscheinen (Code)

不言
Freigeben: 2023-04-04 09:54:01
nach vorne
2436 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit der Implementierung der statistischen Methode (Code) von Zahlen, die mehr als die Hälfte der Male in einem Array in PHP vorkommen. Freunde in Not können sich darauf beziehen Ich hoffe, es wird Ihnen nützlich sein.

Es gibt eine Zahl im Array, die länger als die Hälfte der Länge des Arrays ist. Bitte finden Sie diese Zahl. Geben Sie beispielsweise ein Array {1,2,3,2,2,2,5,4,2} mit einer Länge von 9 ein. Da die Zahl 2 fünfmal im Array vorkommt, was mehr als der halben Länge des Arrays entspricht, wird 2 ausgegeben. Wenn es nicht existiert, geben Sie 0 aus.

Zwei Möglichkeiten:

1. Definieren Sie ein neues Array arr, durchlaufen Sie das Array und weisen Sie arr Werte zu, arr[element] = die Anzahl der Vorkommen
2 , nehmen Sie den ersten Schlüssel und Wert, Schlüssel ist das Zielelement und Wert ist die Anzahl der Vorkommen. Nach der Überprüfung wird
3 zurückgegeben. Ein neues Array wird im Raum erstellt 🎜>

1. Definieren Sie die Variable e, die am häufigsten vorkommt. Verwenden Sie

2, um das aktuelle Element zu vergleichen , unterschiedliche Anzahl – wenn die Anzahl 0 ist, deckt das aktuelle Element e ab.
3 Durchlaufen Sie das Array, um zu überprüfen, ob e mehr als die Hälfte der Zeit auftritt.
4 )

e,count=1
for i=1;i<arr.length;i++
    if arr[i]==e
        count++
    else
        count--
    if count==0
        e=arr[i]
        count=1
count=0
for i=0;i<arr.length;i++
    if arr[i]==e
        count++
if count*2>arr.length
    return e
Nach dem Login kopieren
<?php
$arr=array(1,2,3,2,2,2,5,4,2);
$e=MoreThanHalfNum_Solution($arr);
var_dump($e);

function MoreThanHalfNum_Solution($numbers){
        $arr=$numbers;
        $e=$arr[0];
        $count=1;
        $length=count($arr);
        for($i=1;$i<$length;$i++){
                if($arr[$i]==$e){
                        $count++;
                }else{
                        $count--;
                }   

                if($count==0){
                        $e=$arr[$i];
                        $count=1;
                }   
        }   
        $count=0;
        for($i=0;$i<$length;$i++){
                if($arr[$i]==$e){
                        $count++;
                }   
        }   
        if($count*2>$length){
                return $e; 
        }   
        return 0;

}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die statistische Methode für Zahlen, die mehr als die Hälfte in einem Array in PHP erscheinen (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage