LeetCode Español Java | Python | PHP | C++ | JavaScript
En este blog, te enseñaré cómo resolver el ejercicio Mediana de dos arreglos ordenados 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 "Median of Two Sorted Arrays".
Problema
Dados dos arrays ordenados, júntelos y retorne su mediana. La mediana es el valor central de la unión ambos arreglos.
Pasos para realizar el algoritmo:
1.- Se inicializan las siguientes variables:
✅ mediana1 y mediana2: Servirán para almacenar valores potenciales de las medianas de cada array.
✅ tamaño1 y tamaño2: Se declaran para almacenar los tamaños de los arreglos.
✅ indice1 e indice2: Se utilizarán para mantener la posición cuando se recorran los arreglos.
2.- Se realiza un ciclo que se itera hasta la mitad de la unión de ambos arrays. Esto se hace ya que es suficiente para encontrar la mediana en el peor de los casos.
3.- Se asigna el valor actual de mediana2 a mediana1. Esto permite almacenar temporalmente la mediana encontrada en la iteración anterior mientras se procesa el siguiente elemento.
4.-✅ Se han agotado los elementos en nums1: Se toma el elemento actual de nums2 e incrementa indice2.
✅ Se han agotado los elementos en nums2 o el elemento actual en nums1 es menor que el de nums2: Se obtiene el elemento actual de nums1 e incrementa indice1.
✅ Si ninguno de los casos anteriores se cumple: Se toma el elemento actual de nums2 e incrementa indice2.
5.- Después del bucle, se verifica si la suma de los tamaños de ambos arreglos es par. Si es así, significa que hay dos valores medios. Por lo tanto, se calcula el promedio de ambas medianas y se devuelve con decimales. En caso contrario, se devuelve el valor de la mediana2.
En este blog, hemos visto cómo realizar el ejercicio Mediana de dos arreglos ordenados en Java, Python, PHP, C++ y JavaScript.
Hemos visto ejemplos de código en cada lenguaje de programación.