Menu
CoddyTech

Daily Temperatures

temperatures[i] é a temperatura no dia i. Para cada dia, conte quantos dias você espera depois dele até chegar um dia estritamente mais quente, ou 0 se nenhum dia mais quente vier depois. Retorne um array do mesmo tamanho, em que a entrada i é o tempo de espera para o dia i.

Função

dailyTemperatures(temperatures: integer-array) → integer-array
temperaturesinteger-array
a temperatura de cada dia, em ordem
Retornainteger-array
para cada dia, o número de dias até um dia mais quente, ou 0 se nenhum chegar

Restrições

  • 1 ≤ temperatures.length ≤ 104
  • 30 ≤ temperatures[i] ≤ 100
  • Mais quente significa estritamente uma temperatura mais alta: um dia posterior com a mesma temperatura não conta.

Exemplos

Entrada
temperatures = [71, 69, 72, 70, 70, 75, 68]
Saída
[2, 1, 3, 2, 1, 0, 0]
Explicação
O dia 0 (71) espera 2 dias pelo 72. O dia 3 (70) ignora o 70 igual no dia 4 e espera 2 dias pelo 75. Nada depois do 75 ou do 68 é mais quente, então ambos recebem 0.
challenge icon

Para ir além

As temperaturas assumem apenas 71 valores, de 30 a 100. Como uma tabela indexada pela temperatura poderia responder por todos os dias em uma única passagem da direita para a esquerda, e a que custo?

Redefinir código
def dailyTemperatures(temperatures):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumento

temperatures = [71, 69, 72, 70, 70, 75, 68]

Saída Esperada

[2, 1, 3, 2, 1, 0, 0]