Menu
CoddyTech

Leaders in an Array

Du erhältst ein Array aus ganzen Zahlen nums. Ein Element ist ein Anführer, wenn es größer oder gleich jedem Element rechts von ihm ist. Das letzte Element hat nichts rechts von sich und ist daher immer ein Anführer. Gib alle Anführer in der Reihenfolge zurück, in der sie in nums von links nach rechts erscheinen.

Funktion

leaders(nums: integer-array) → integer-array
numsinteger-array
das zu durchsuchende Integer-Array
Gibt zurückinteger-array
die führenden Elemente von nums, von links nach rechts

Einschränkungen

  • 1 ≤ nums.length ≤ 25000
  • -109 ≤ nums[i] ≤ 109

Beispiele

Eingabe
nums = [12, 5, 9, 3, 6, 2]
Ausgabe
[12, 9, 6, 2]
Erklärung
2 steht zuletzt und führt daher. 6 schlägt die 2 dahinter, 9 schlägt 3, 6 und 2, und 12 schlägt alles. 5 verliert gegen 9 und 3 verliert gegen 6, also lautet die Antwort [12, 9, 6, 2].
challenge icon

Weiterführende Frage

Wenn die Werte einzeln eintreffen und du nach jedem Wert die bisherigen Spitzenreiter ausgeben musst, wie aktualisierst du die Liste in amortisiertem O(1)-Zeitaufwand pro Wert?

Code zurücksetzen
def leaders(nums):
    # Schreibe hier den Code

Test #1

Test #2

Test #3

Argument

nums = [12, 5, 9, 3, 6, 2]

Erwartete Ausgabe

[12, 9, 6, 2]