root двоичного дерева из n вершин; значения вершин — различные числа от 1 до n. Также дан массив cuts.
Каждый элемент cuts[i] — это отдельный вопрос: какой станет высота дерева, если отрезать вершину со значением cuts[i] вместе со всем её поддеревом? Вопросы независимы: после каждого дерево возвращается в исходное состояние. Корень никогда не отрезают.
Высота дерева — число рёбер на самом длинном пути от корня вниз до какой-либо вершины.
Верните массив ответов в порядке вопросов.root=tree_node([4, 2, 6, 1, 3, None, 5, None, None, None, 7]), cuts=[3, 6] → [2, 3]
Без поддерева 3 самая длинная ветка — 4 → 6 → 5, высота 2. Без поддерева 6 остаётся 4 → 2 → 3 → 7, высота 3. Каждый срез делается на исходном дереве.
root=tree_node([1, 2, None, 3]), cuts=[3, 2] → [1, 0]
Дерево — цепочка 1 → 2 → 3. Срезав 3, получаем высоту 1; срезав 2, остаётся один корень — высота 0.
cuts[i] не равно значению корняroot=tree_node([4, 2, 6, 1, 3, None, 5, None, None, None, 7]), cuts=[3, 6]
[2, 3]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 33 теста на сервере, включая скрытые.