suchen
Heimtägliche ProgrammierungPHP-KenntnissePHP-Zufallsauswahlalgorithmus (1)

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor