Heim >Backend-Entwicklung >PHP-Problem >So finden Sie fehlende Zahlen in PHP

So finden Sie fehlende Zahlen in PHP

藏色散人
藏色散人Original
2022-12-14 09:47:165316Durchsuche

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.

So finden Sie fehlende Zahlen in PHP

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!

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