Solución

@arkzado·6/5/2026TypeScript
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
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.