Solución
solution.tsTypeScript
function trapWater(heights: number[]): number {
// TODO: Implementa tu solución aquí
let posicionFrontero: number = 0;
let posicionInverso: number = heights.length - 1;
let maximoFrontero: number = heights[posicionFrontero];
let maximoInverso: number = heights[posicionInverso];
let contadorAgua: number = 0;
while(posicionFrontero < posicionInverso){
if(heights[posicionFrontero] < heights[posicionInverso]){
if(heights[posicionFrontero] < maximoFrontero){
contadorAgua += (maximoFrontero - heights[posicionFrontero]);
}
else{
maximoFrontero = heights[posicionFrontero];
}
posicionFrontero++;
}
else{
if(heights[posicionInverso] < maximoInverso){
contadorAgua += (maximoInverso - heights[posicionInverso]);
}
else{
maximoInverso = heights[posicionInverso];
}
posicionInverso--;
}
}
return contadorAgua;
}
// No modificar: necesario para evaluar el resultado.
export { trapWater };
0respuestas