Solución
solution.tsTypeScript
export function minimumTotal(triangle: number[][]): number {
const lowest: any = new Array(triangle.length);
for(let i=0;i<triangle.length;i++) lowest[i] = new Array(triangle[i].length)
calcAllLeaf(triangle, lowest, 0, 0)
console.log("lowest", lowest)
return Math.min(...lowest[triangle.length-1]);
}
function calcAllLeaf (triangle: number[][], lowest: number[][], row: number, i: number){
if(row === 0){
lowest[0][0] = triangle[0][0];
} else {
lowest[row][i] = Math.min(
lowest[row-1][i-1] || Number.MAX_SAFE_INTEGER,
lowest[row-1][i] || Number.MAX_SAFE_INTEGER,
) + triangle[row][i]
}
if(row === triangle.length -1) return
calcAllLeaf(triangle, lowest, row+1, i)
calcAllLeaf(triangle, lowest, row+1, i+1)
}0respuestas