LeetCode Español Java | Python | PHP | C++ | JavaScript
En este blog, te enseñaré cómo resolver el ejercicio Contenedor con mas agua de la plataforma LeetCode en Java, Python, PHP, C++ y JavaScript en español.
En esta guía, aprenderás a:
✅ Una explicación del problema
✅ Una solución eficiente
✅ Implementaciones en Java, Python, PHP, C++ y JavaScript
Este ejercicio se encuentra en la plataforma de LeetCode como "Container With Most Water".
Problema
Dado un array llamado altura, debe encontrar la cantidad máxima de agua que se puede almacenar entre dos barras verticales.
Pasos para realizar el algoritmo:
1.- Se declaran tres variables:
✅ Puntero 1 y puntero 2: Se inicializan desde el primer y último elemento del array.
✅ Área Máxima: Se utilizará para almacenar el área máxima encontrada hasta el momento.
2.- Se ejecuta un bucle mientras puntero 1 no sea igual a puntero 2.
3.- Se calcula la anchura actual como la diferencia entre puntero 2 y puntero 1.
4.- Se calcula el área actual como el producto de la anchura y el mínimo de las alturas en las posiciones puntero 1 y puntero 2.
5.- Si el área actual es mayor que el valor de área máxima, se actualiza este valor.
6.- Si la altura en puntero 1 es menor o igual que la altura en puntero 2, se incrementa puntero 1, en caso contrario, se decrementa puntero 2.
7.- Se retorna el valor del área máxima.
var maxArea =function(altura){// Paso #1
let puntero1 =0;
let puntero2 = altura.length-1;
let areaMaxima =0;// Paso #2
while (puntero1 !== puntero2){// Paso #3
let anchura = puntero2 - puntero1;// Paso #4
let areaActual;
areaActual = anchura *Math.min(altura[puntero1], altura[puntero2]);// Paso #5if(areaActual > areaMaxima) areaMaxima = areaActual;// Paso #6if(altura[puntero1]<= altura[puntero2]){
puntero1++;}else{
puntero2--;}}// Paso #7return areaMaxima;};
Conclusión
En este blog, hemos visto cómo realizar el ejercicio Contenedor con mas agua en Java, Python, PHP, C++ y JavaScript.
Hemos visto ejemplos de código en cada lenguaje de programación.