Menu
CoddyTech

Daily Temperatures

Vous obtenez la température de chaque jour dans une série de jours : temperatures[i] est la température du jour i. Pour chaque jour, comptez le nombre de jours que vous devez attendre après celui-ci jusqu’à l’arrivée d’un jour strictement plus chaud. Si aucun jour plus chaud n’arrive par la suite, l’attente pour ce jour est 0.

Renvoyez un tableau de même longueur où l’entrée i correspond au temps d’attente pour le jour i.

Fonction

dailyTemperatures(temperatures: integer-array) → integer-array
temperaturesinteger-array
la température de chaque jour, dans l’ordre
Renvoieinteger-array
pour chaque jour, le nombre de jours avant un jour plus chaud, ou 0 si aucun n’arrive

Contraintes

  • 1 ≤ temperatures.length ≤ 104
  • 30 ≤ temperatures[i] ≤ 100
  • Plus chaud signifie strictement plus élevé : un jour ultérieur avec la même température ne compte pas.

Exemples

Entrée
temperatures = [71, 69, 72, 70, 70, 75, 68]
Sortie
[2, 1, 3, 2, 1, 0, 0]
Explication
Le jour 0, la température est de 71, et le premier jour plus chaud est le jour 2, à 72 ; il faut donc attendre 2 jours. Les jours 3 et 4 sont tous deux à 70 : le second 70 n’est pas plus chaud, donc le jour 3 attend jusqu’au jour 5, à 75, soit 2 jours. Rien après 75 ou 68 n’est plus chaud, donc les deux obtiennent 0.

lock icon+13 tests cachés à la soumission

challenge icon

Pour aller plus loin

Les températures ne prennent que 71 valeurs, de 30 à 100. Comment une table indexée par température pourrait-elle répondre pour chaque jour en un seul passage de droite à gauche, et quel est le coût de ce passage ?

Réinitialiser le code
def dailyTemperatures(temperatures):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Cas 3

Entrée

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

Attendu

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