Middle+
Sarcină: parcurgeți un copac de obiecte (fiecare obiect are câmpurile value și elements) și calculați suma tuturor valorilor. Cum ați implementa acest lucru?
sobes.tech AI
Răspuns de la AI
Для обхода дерева объектов с полями value и elements (где elements — массив дочерних объектов) и подсчёта суммы всех value можно использовать рекурсивную функцию.
Пример на JavaScript:
function sumValues(node) {
let sum = node.value;
if (node.elements && node.elements.length > 0) {
for (const child of node.elements) {
sum += sumValues(child);
}
}
return sum;
}
// Пример использования:
const tree = {
value: 10,
elements: [
{ value: 5, elements: [] },
{ value: 3, elements: [
{ value: 2, elements: [] }
]}
]
};
console.log(sumValues(tree)); // 20
Функция sumValues принимает узел, добавляет его значение к сумме, затем рекурсивно вызывает себя для всех дочерних элементов, аккумулируя сумму.