Ctrl K

Следующее большее по кругу

Средняя
Числа values записаны по кругу: после последнего элемента снова идёт первый. Для каждого элемента найдите первое число, которое строго больше него, если двигаться от этого элемента по кругу вперёд. Если такого числа нет, запишите -1. Верните массив ответов той же длины, в том же порядке, что и values.
Пример 1
values=[4, 9, 2, 6] → [9, -1, 6, 9]

После 4 сразу идёт 9. Больше 9 ничего нет — -1. После 2 идёт 6. За 6 по кругу следуют 4, затем 9 — ответ 9.

Пример 2
values=[7, 7, 3] → [-1, -1, 7]

Равное не считается большим, поэтому у обеих семёрок ответ -1. У тройки по кругу следующая — 7.

Пример 3
values=[-5] → [-1]
Ограничения
  • 1 ≤ len(values) ≤ 10⁴
  • -10⁹ ≤ values[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПрямой обход дерева поиска СредняяНиз, пик и середина СредняяПерестроить середину шеренги СредняяДерево из вершин-максимумов СредняяСколько ждать подорожания Средняя
загружаем Python…
Вход
values=[4, 9, 2, 6]
Ожидается
[9, -1, 6, 9]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 125 тестов на сервере, включая скрытые.