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, поэтому ожидание составляет 2 дня. В дни 3 и 4 температура одинаковая — 70: второй день с температурой 70 не теплее, поэтому день 3 ждёт до дня 5 с температурой 75, то есть 2 дня. После 75 или 68 более тёплых дней нет, поэтому для обоих результат — 0.

lock icon+13 скрытых тестов при отправке

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]