prices[i] — цена в день i. Для каждого дня выясните, сколько дней придётся подождать, пока цена станет строго выше, чем в этот день.
Верните список той же длины, где i-й элемент — это число дней от дня i до ближайшего более позднего дня с более высокой ценой. Если такого дня нет, поставьте 0.
Сравнить каждый день со всеми следующими — это O(n²). Попробуйте за O(n).prices=[50, 45, 47, 60, 58] → [3, 1, 1, 0, 0]
После 50 цена впервые выше через 3 дня (60). После 45 — уже на следующий день (47), после 47 — тоже (60). Ни 60, ни 58 больше не превзойдены.
prices=[70, 70, 71] → [2, 1, 0]
Равная цена не считается более высокой: от первого 70 до 71 два дня.
prices=[90, 80, 30] → [0, 0, 0]
prices=[50, 45, 47, 60, 58]
[3, 1, 1, 0, 0]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 104 теста на сервере, включая скрытые.