Solución
JL@juanluisabreu_4c541ef6
·3/4/2026TypeScriptsolution.tsTypeScript
function trappedWater(heights: number[]): number {
let resultado = 0;
//Recorriendo el Arreglos desde la posición 1, hasta la posición final -1
for(let i = 1; i< heights.length-1; i++) {
//Calculando el valor mayor de las posiciones a la izquierda del índice recorrido actual
let maxIzquierda = [...heights.filter((valor, indice) => indice < i)].sort((a,b) => b-a)[0];
//Calculando el valor mayor de las posiciones a la derecha del índice recorrido actual
let maxDerecha = [...heights.filter((valor, indice) => indice > i)].sort((a,b) => b-a)[0];
//Calculando el cantidad de Agua que acumula
let valor = (Math.max(0, Math.min(maxIzquierda, maxDerecha))) - heights[i];
//Si la acumulación es positivo, entonces se toma en cuenta su resultado
resultado += valor>0? valor: 0;
}
return resultado;
}
// No modificar: necesario para evaluar el resultado.
export { trappedWater };
0respuestas