Heim >Backend-Entwicklung >PHP-Problem >So finden Sie fehlende Zahlen in PHP
So finden Sie fehlende Zahlen in PHP: 1. Erstellen Sie eine PHP-Beispieldatei. 2. Überprüfen Sie das Wachstumsmuster der Beispieldaten. 3. Verwenden Sie „nums[i] == i“ oder „nums[i] > i“. " Bestimmen Sie die Position des fehlenden Werts. 4. Suchen Sie die fehlende Zahl, indem Sie die Methode „function failedNumber($nums) {...}“ definieren.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, Dell G3-Computer.
Wie finde ich fehlende Zahlen in PHP?
PHP Berechnet die fehlenden Zahlen von 0 bis n-1
Die fehlenden Zahlen von 0 bis n-1
Alle Zahlen in einem aufsteigend sortierten Array der Länge n-1 sind eindeutig und jede Zahl liegt innerhalb der Bereich 0~n-1. Unter den n Zahlen im Bereich 0~n-1 gibt es nur eine Zahl, die nicht im Array enthalten ist. Bitte suchen Sie diese Zahl.
Beispiel 1:
输入: [0,1,3] 输出: 2
Beispiel 2:
输入: [0,1,2,3,4,5,6,7,9]
Ausgabe: 8
Ideen zur Problemlösung
Einfache binäre Suche, die Bedeutung der Frage macht deutlich, dass alle Zahlen steigen, und der Wertebereich von Alle Zahlen liegen innerhalb von [0, n-1] und sind eindeutig, daher können wir eine solche Regel finden:
Solange nums[i] == i während des Abfragevorgangs gilt, muss der fehlende Wert auf der rechten Seite sein von i;
Wenn während des Abfragevorgangs In nums[i] > der fehlende Wert auf der linken Seite stehen muss, geben Sie am Ende einfach min als Ergebnis zurück.
Code
class Solution { /** * @param Integer[] $nums * @return Integer */ function missingNumber($nums) { $min = 0; $max = count($nums) - 1; while ($min <= $max) { $mid = (int)($min + ($max - $min) / 2); $mid == $nums[$mid] ? $min = $mid + 1 : $max = $mid - 1; } return $min; } }
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo finden Sie fehlende Zahlen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!