Навскидку видится что-то такое:
function getHeightRec(arr, height1, height2, max) {
if (arr.length === 0) {
return max;
}
let result;
const lastItem = arr.pop();
if (height1 === height2) {
result = Math.max(
getHeightRec(arr, height1, height2, height2),
getHeightRec(arr, height1 + lastItem, height2, height2)
);
} else {
result = Math.max(
getHeightRec(arr, height1, height2, max),
getHeightRec(arr, height1 + lastItem, height2, max),
getHeightRec(arr, height1, height2 + lastItem, max)
);
}
arr.push(lastItem);
return result;
}
function getHeight(arr) {
return getHeightRec(arr, 0, 0, 0);
}
не дебажил