Sobes.tech
Back to tasks
Junior — Senior
96

Нахождение наибольшей суммы пути в бинарном дереве при единственном посещении узлов

Task condition

livecode

Требуется реализовать функцию, которая вычисляет максимальную сумму узлов вдоль любого пути, при условии, что каждый узел может быть пройден не более одного раза. Путь может начинаться и заканчиваться в любых вершинах дерева — не обязательно от корня к листу. На приведённом ниже примере максимальная сумма достигается по пути 5 → -3 → 20, дающему 30.

    (-10)
     /
  (9)   (20)
       /   \
    (-3)   (8)
     /     / \
  (5)  (-4)  (-2)
   /
(-2)

function getMaxPathSum(root) {}