Solución

@diekotto·4/7/2026TypeScript
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
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.