Menu
CoddyTech

Leaders in an Array

Otrzymujesz tablicę liczb całkowitych nums. Element jest liderem, jeśli jest większy lub równy każdemu elementowi po jego prawej stronie. Ostatni element nie ma żadnych elementów po prawej stronie, więc zawsze jest liderem. Zwróć wszystkich liderów w kolejności, w jakiej występują w nums, od lewej do prawej.

Funkcja

leaders(nums: integer-array) → integer-array
numsinteger-array
tablica liczb całkowitych do przeszukania
Zwracainteger-array
liderzy nums, od lewej do prawej

Ograniczenia

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

Przykłady

Wejście
nums = [12, 5, 9, 3, 6, 2]
Wyjście
[12, 9, 6, 2]
Wyjaśnienie
2 jest ostatnia, więc prowadzi. 6 pokonuje poprzedzającą ją 2, 9 pokonuje 3, 6 i 2, a 12 pokonuje wszystkie pozostałe. 5 przegrywa z 9, a 3 przegrywa z 6, więc odpowiedź to [12, 9, 6, 2].
challenge icon

Pytanie dodatkowe

Jeśli wartości napływają pojedynczo i po każdej z nich musisz wskazać dotychczasowych liderów, jak aktualizować listę w zamortyzowanym czasie O(1) na każdą wartość?

Zresetuj kod
def leaders(nums):
    # Wpisz kod tutaj

Test #1

Test #2

Test #3

Argument

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

Oczekiwany wynik

[12, 9, 6, 2]