Problema
Ver original (inglés)Ambas listas están ordenadas en orden ascendente. Encuentra la mediana de todos sus números juntos; si la cantidad total es par, es el promedio de los dos valores centrales. Es posible una búsqueda por partición en O(log(m + n)), pero se acepta cualquier método correcto dentro de los límites.
Implementa median_of_two(first, second).
Entrada
first: Una lista ordenada. second: Una lista ordenada.
Salida
Devuelve la mediana.
Restricciones
0 ≤ longitudes ≤ 100,000; la longitud combinada es al menos 1
Ejemplos
Entrada:
first = [1, 3]
second = [2]
Salida esperada:
expected = 2.0
Entrada:
std::vector<long long> first = {1, 3};
std::vector<long long> second = {2};
Salida esperada:
double expected = 2.0;
Entrada:
long[] first = new long[] {1, 3};
long[] second = new long[] {2};
Salida esperada:
double expected = 2.0;
Explicación
Combinado: [1, 2, 3]; el valor central es 2.
Entrada:
first = [1, 2]
second = [3, 4]
Salida esperada:
expected = 2.5
Entrada:
std::vector<long long> first = {1, 2};
std::vector<long long> second = {3, 4};
Salida esperada:
double expected = 2.5;
Entrada:
long[] first = new long[] {1, 2};
long[] second = new long[] {3, 4};
Salida esperada:
double expected = 2.5;
Explicación
Combinado: [1, 2, 3, 4]; (2 + 3) / 2 = 2.5.
Referencias
Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.