Menu
CoddyTech

Leaders in an Array

Você recebe um array de números inteiros nums. Um elemento é um líder quando é maior ou igual a todos os elementos à sua direita. O último elemento não tem nada à sua direita, então ele é sempre um líder. Retorne todos os líderes, na ordem em que aparecem em nums, da esquerda para a direita.

Função

leaders(nums: integer-array) → integer-array
numsinteger-array
o array de inteiros a ser pesquisado
Retornainteger-array
os líderes de nums, da esquerda para a direita

Restrições

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

Exemplos

Entrada
nums = [12, 5, 9, 3, 6, 2]
Saída
[12, 9, 6, 2]
Explicação
2 é o último, então ele lidera. 6 vence o 2 que vem depois dele, 9 vence 3, 6 e 2, e 12 vence todos. 5 perde para 9 e 3 perde para 6, então a resposta é [12, 9, 6, 2].
challenge icon

Para ir além

Se os valores chegam um de cada vez e, após cada um, você precisa informar os líderes até o momento, como atualizar a lista em tempo amortizado O(1) por valor?

Redefinir código
def leaders(nums):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumento

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

Saída Esperada

[12, 9, 6, 2]