Todos los desafíos
Difícil 0 resueltos 0% de aceptación

Mediana de Dos Arreglos Ordenados

Encuentra la mediana de dos listas ordenadas combinadas.

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

Ejemplo 1
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.

Ejemplo 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.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.