Ctrl K

Среднее по каждому уровню дерева

Лёгкая
Дан корень root двоичного дерева. Для каждого уровня — сначала корень, затем его дети, затем внуки и так далее — посчитайте среднее арифметическое значений вершин этого уровня. Верните список средних сверху вниз. Ответ принимается, если каждое число отличается от точного не больше чем на 10⁻⁵.
Пример 1
root=tree_node([10, 4, 7, None, 1, -2, 8]) → [10.0, 5.5, 2.3333333333333335]

Уровень 0: 10. Уровень 1: (4 + 7) / 2 = 5.5. Уровень 2: (1 − 2 + 8) / 3 ≈ 2.33333.

Пример 2
root=tree_node([6]) → [6.0]

Одна вершина — один уровень со средним 6.

Ограничения
  • 1 ≤ число вершин ≤ 10⁴
  • -2³¹ ≤ Node.val ≤ 2³¹ − 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДеревья-близнецы ЛёгкаяДерево-зеркало ЛёгкаяВысота дерева ЛёгкаяГлубина ближайшего листа ЛёгкаяПуть до листа с нужной суммой Лёгкая
загружаем Python…
Вход
root=tree_node([10, 4, 7, None, 1, -2, 8])
Ожидается
[10.0, 5.5, 2.3333333333333335]

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