1574. Kürzestes Subarray, das entfernt werden muss, um das Array zu sortieren
Schwierigkeit:Mittel
Themen:Array, Zwei Zeiger, Binäre Suche, Stapel, Monotoner Stapel
Entfernen Sie bei einem gegebenen ganzzahligen Array arr ein Unterarray (kann leer sein) aus arr, sodass die verbleibenden Elemente in arr nicht abnehmend sind.
Gibt die Länge des kürzesten zu entfernenden Subarrays zurück.
Ein Subarray ist eine zusammenhängende Teilsequenz des Arrays.
Beispiel 1:
Beispiel 2:
Beispiel 3:
Einschränkungen:
Hinweis:
Lösung:
Wir können Sortier- und binäre Suchtechniken verwenden. Hier ist der Plan:
Zwei-Punkte-Ansatz:
Monotoner Stapel:
Schritte:
Optimierung:
Lassen Sie uns diese Lösung in PHP implementieren: 1574. Kürzestes Subarray, das entfernt werden muss, um das Array zu sortieren
Erläuterung:
Längstes nicht abnehmendes Präfix und Suffix:
- Das Präfix wird bestimmt, indem das Array vom Anfang an durchlaufen wird, bis die Elemente in nicht absteigender Reihenfolge vorliegen.
- In ähnlicher Weise wird das Suffix durch Durchlaufen vom Ende bestimmt.
Anfängliche Mindestentfernung:
- Berechnen Sie die Entfernungslänge, indem Sie nur das Präfix oder das Suffix beibehalten.
Präfix und Suffix zusammenführen:
- Verwenden Sie zwei Zeiger (i für Präfix und j für Suffix), um das kleinste zu entfernende Subarray zu finden, sodass das letzte Element des Präfixes kleiner oder gleich dem ersten Element des Suffixes ist.
Ergebnis zurückgeben:
- Das Ergebnis ist die Mindestlänge des zu entfernenden Subarrays, berechnet als der kleinere Wert aus der anfänglichen Entfernung oder der Zusammenführung von Präfix und Suffix.
Komplexität
Diese Lösung findet effizient das kürzeste zu entfernende Subarray, um das Array mithilfe einer Zwei-Zeiger-Technik zu sortieren, und verarbeitet große Arrays bis zur Einschränkung von 10^5 Elementen.
Kontaktlinks
Wenn Sie diese Serie hilfreich fanden, denken Sie bitte darüber nach, dem Repository einen Stern auf GitHub zu geben oder den Beitrag in Ihren bevorzugten sozialen Netzwerken zu teilen? Ihre Unterstützung würde mir sehr viel bedeuten!
Wenn Sie weitere hilfreiche Inhalte wie diesen wünschen, folgen Sie mir gerne:
Das obige ist der detaillierte Inhalt vonKürzestes Subarray, das entfernt werden muss, um das Array zu sortieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!