Ctrl K

Маршрут в дереве со змейкой

Средняя
Бесконечное полное двоичное дерево пронумеровано по рядам числами 1, 2, 3, … «змейкой»: в нечётных рядах (первом, третьем, пятом, …) номера идут слева направо, а в чётных (втором, четвёртом, …) — справа налево. Так, корень — 1, во втором ряду слева направо стоят 3, 2, в третьем — 4, 5, 6, 7, в четвёртом — 15, 14, …, 8. Дана метка tag вершины этого дерева. Верните список меток на пути от корня до этой вершины включительно, начиная с корня.
Пример 1
tag=11 → [1, 2, 6, 11]

Ряды: 1 | 3 2 | 4 5 6 7 | 15 14 13 12 11 10 9 8. Метка 11 стоит пятой в четвёртом ряду, её родитель — третий в третьем ряду (6), его родитель — 2, затем корень 1.

Пример 2
tag=1 → [1]

Корень — сам себе весь маршрут.

Пример 3
tag=20 → [1, 3, 5, 13, 20]
Ограничения
  • 1 ≤ tag ≤ 10⁶
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСколько форм у дерева поиска СредняяДругие порядки для того же дерева поиска СложнаяДуэль садовников на растущем дереве СложнаяЭто дерево поиска? СредняяДве перепутанные вершины Средняя
загружаем Python…
Вход
tag=11
Ожидается
[1, 2, 6, 11]

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