Heim  >  Artikel  >  tägliche Programmierung  >  PHP-Zufallsauswahlalgorithmus (1)

PHP-Zufallsauswahlalgorithmus (1)

藏色散人
藏色散人Original
2019-02-18 14:31:3910877Durchsuche

In unserem täglichen PHP-Interviewprozess sind algorithmische Fragen natürlich unverzichtbar und jeder weiß, dass Algorithmen der Kern des Programms sind. Ausgehend von diesem Artikel werden wir Ihnen daher nach und nach das Wissen rund um die PHP-Algorithmusreihe vorstellen. Im Folgenden stellen wir Ihnen den PHP-Zufallsauswahlalgorithmus vor.

PHP-Zufallsauswahlalgorithmus (1)

PHP One Algorithm verwendet, wie der Name schon sagt, PHP, um unter mehreren Elementen das einzige Element zu finden, das die Anforderungen erfüllt.

Zum Beispiel gibt es eine spezielle Interviewfrage zum PHP-Eins-zu-Eins-Algorithmus. Die Frage lautet wie folgt:

Eine Gruppe von Affen stellt sich im Kreis auf und wird entsprechend nummeriert zu 1, 2,..., n. Dann beginnen Sie mit dem Zählen vom ersten, zählen Sie bis zum m-ten, werfen Sie es aus dem Kreis, beginnen Sie von hinten zu zählen, zählen Sie bis zum m-ten, werfen Sie es raus ... und fahren Sie auf diese Weise bis zum Ende fort Es gibt nur noch einen Affen, den man „König“ nennt.

Erfordert PHP-Programmierung, um diesen Prozess zu simulieren, m, n einzugeben und die Nummer des letzten Königs auszugeben.

Die Lösung lautet wie folgt:

<?php
function king($n, $m){
    $monkeys = range(1, $n);
    $i=0;
    while (count($monkeys)>1) {
        if(($i+1)%$m==0) {
            unset($monkeys[$i]);
        } else {
            array_push($monkeys,$monkeys[$i]);
            unset($monkeys[$i]);
        }
        $i++;
    }
    return current($monkeys);
}
echo king(10,3);

Aufgrund der Länge des Artikels wird dieser Abschnitt hier zuerst vorgestellt. Sie können die Funktionsweise und Lösungsmethoden auch zunächst vor Ort verstehen. Im Folgeartikel „PHP Random Picking One Algorithm (2) “ werden wir den Implementierungsprozess der PHP-Auswahl eines Algorithmus basierend auf dem obigen Code weiterhin im Detail vorstellen.

Das obige ist der detaillierte Inhalt vonPHP-Zufallsauswahlalgorithmus (1). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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