Menu
CoddyTech

Daily Temperatures

temperatures[i] — это температура в день i. Для каждого дня подсчитай, сколько дней нужно ждать после него, пока не наступит строго более тёплый день, или укажи 0, если позже более тёплого дня не будет. Верни массив той же длины, в котором элемент i — это время ожидания для дня i.

Функция

dailyTemperatures(temperatures: integer-array) → integer-array
temperaturesinteger-array
температура каждого дня по порядку
Возвращаетinteger-array
для каждого дня — количество дней до более тёплого дня или 0, если такого дня не будет

Ограничения

  • 1 ≤ temperatures.length ≤ 104
  • 30 ≤ temperatures[i] ≤ 100
  • «Теплее» означает строго более высокую температуру: более поздний день с такой же температурой не считается.

Примеры

Ввод
temperatures = [71, 69, 72, 70, 70, 75, 68]
Вывод
[2, 1, 3, 2, 1, 0, 0]
Пояснение
День 0 (71) ждёт 2 дня, пока температура не достигнет 72. День 3 (70) пропускает равную температуру 70 в день 4 и ждёт 2 дня, пока температура не достигнет 75. После 75 или 68 уже нет более высокой температуры, поэтому оба значения получают 0.
challenge icon

Дополнительный вопрос

Температура принимает всего 71 значение: от 30 до 100. Как таблица с индексами по температуре могла бы за один проход ответить на запросы для каждого дня, двигаясь справа налево, и какой ценой?

Сбросить код
def dailyTemperatures(temperatures):
    # Напишите код здесь

Тест #1

Тест #2

Тест #3

Аргумент

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

Ожидаемый вывод

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