769. Max. Brocken zum Sortieren
Schwierigkeit:Mittel
Themen: Array, Stack, Greedy, Sortieren, Monotoner Stack
Sie erhalten ein ganzzahliges Array arr der Länge n, das eine Permutation der ganzen Zahlen im Bereich [0, n - 1] darstellt.
Wir teilen arr in eine Anzahl von Chunks (d. h. Partitionen) auf und sortieren jeden Chunk einzeln. Nach der Verkettung sollte das Ergebnis dem sortierten Array entsprechen.
Gib die größte Anzahl an Blöcken zurück, die wir zum Sortieren des Arrays erstellen können.
Beispiel 1:
Beispiel 2:
Einschränkungen:
Hinweis:
Lösung:
Wir müssen die größte Anzahl von Blöcken finden, die gebildet werden können, sodass jeder Block einzeln sortiert werden kann. Bei der Verkettung ist das Ergebnis die sortierte Version des gesamten Arrays.
Wichtige Beobachtung:
Strategie:
Schritte:
Lassen Sie uns diese Lösung in PHP implementieren: 769. Max. Stücke zum Sortieren
Erläuterung:
Initialisierung:
- Wir beginnen mit maxSoFar = -1, um sicherzustellen, dass wir den Maximalwert im Array beim Durchlaufen korrekt verfolgen.
- chunks = 0 verfolgt die Anzahl der Chunks, die gebildet werden können.
Schleife:
- Wir durchlaufen jedes Element im Array.
- Für jedes Element aktualisieren wir maxSoFar so, dass es der Maximalwert zwischen dem aktuellen Element und dem zuvor gesehenen Maximum ist.
- Wenn maxSoFar == i, bedeutet dies, dass das Array bis zum Index i unabhängig sortiert werden kann und dies ein gültiger Block ist.
- Wir erhöhen die Chunk-Anzahl jedes Mal, wenn diese Bedingung zutrifft.
Rückgabe:
- Schließlich wird die Gesamtzahl der Chunks zurückgegeben.
Zeitkomplexität:
Für arr = [1, 0, 2, 3, 4]:
Die Ausgabe für diesen Fall beträgt also 4, da wir sie in 4 Teile aufteilen können.
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 von. Max. Brocken zum Sortieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!