Ctrl K

Турнир минимумов и максимумов

Лёгкая
Дан массив players, длина которого — степень двойки. Проведите турнир на выбывание по раундам. В каждом раунде соседние элементы разбиваются на пары: (0, 1), (2, 3), (4, 5), … Пара с номером i (с нуля) даёт одно число в следующий раунд: если i чётное — меньшее из двух, если нечётное — большее. Победители выстраиваются в новый массив в том же порядке, и он вдвое короче. Раунды идут, пока не останется одно число. Верните его.
Пример 1
players=[6, 2, 9, 4, 1, 8, 7, 3] → 2

Раунд 1: min(6, 2) = 2, max(9, 4) = 9, min(1, 8) = 1, max(7, 3) = 7 → [2, 9, 1, 7]. Раунд 2: min(2, 9) = 2, max(1, 7) = 7 → [2, 7]. Финал: min(2, 7) = 2.

Пример 2
players=[5, 11] → 5

Одна пара на позиции 0 — побеждает меньшее, 5.

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

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