root двоичного дерева и целое положительное число rank.
*Вес уровня* — это сумма значений всех вершин, которые находятся на одинаковом расстоянии от корня. Отсортируйте веса всех уровней по убыванию и верните тот, что окажется на месте номер rank (нумерация с единицы). Одинаковые веса занимают разные места.
Если уровней в дереве меньше, чем rank, верните -1.root=tree_node([4, 7, 2, 1, None, 9, 3]), rank=2 → 9
Суммы уровней: 4, затем 7 + 2 = 9, затем 1 + 9 + 3 = 13. По убыванию: 13, 9, 4 — второе место у 9.
root=tree_node([6, 3, 3, None, 6]), rank=1 → 6
Все три уровня весят по 6: и первое место, и любое другое — 6. Равные суммы считаются отдельно.
root=tree_node([2, 5, 1]), rank=3 → -1
Вершины три, а уровней всего два (2 и 5 + 1 = 6), третьего места нет — ответ -1.
root=tree_node([4, 7, 2, 1, None, 9, 3]), rank=2
9
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 46 тестов на сервере, включая скрытые.