Ctrl K

Самый сильный отрезок

Лёгкая
Дан массив scores из различных целых чисел и число size. Рассмотрите все отрезки массива (подряд идущие элементы) длиной ровно size и верните наибольший из них. Отрезки сравниваются как слова в словаре: идём слева направо до первой позиции, где элементы различаются, и больше тот отрезок, у которого в этой позиции число больше. Например, [2, 7, 1] > [2, 5, 9], потому что во второй позиции 7 > 5. Подумайте, можно ли обойтись без сравнения всех отрезков целиком.
Пример 1
scores=[3, 8, 1, 9, 2, 5], size=3 → [9, 2, 5]

Отрезки длины 3: [3, 8, 1], [8, 1, 9], [1, 9, 2], [9, 2, 5]. Сравниваем по первому элементу — побеждает [9, 2, 5].

Пример 2
scores=[3, 8, 1, 9, 2, 5], size=5 → [8, 1, 9, 2, 5]

Вариантов только два: [3, 8, 1, 9, 2] и [8, 1, 9, 2, 5]. Второй больше, так как 8 > 3.

Пример 3
scores=[6, 4, 7], size=1 → [7]
Ограничения
  • 1 ≤ size ≤ len(scores) ≤ 10⁵
  • 1 ≤ scores[i] ≤ 10⁹
  • Все числа в scores различны
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКуски торта для гостей ЛёгкаяСила слабейшего в паре ЛёгкаяПосадка в ряд грядок ЛёгкаяСдача у киоска ЛёгкаяРяд по подъёмам и спадам Лёгкая
загружаем Python…
Вход
scores=[3, 8, 1, 9, 2, 5], size=3
Ожидается
[9, 2, 5]

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