Problema
Ver original (inglés)Ordena los valores en orden ascendente. Si la cantidad de valores es impar, toma el valor central. Si es par, toma la media aritmética de los dos valores centrales. Este desafío solo acepta listas no vacías.
Implementa median_number(numbers).
Entrada
numbers: La lista no vacía de valores.
Salida
Devuelve la mediana como un número; puede terminar en .5.
Restricciones
1 ≤ longitud de la lista ≤ 100,000. Cada valor es un entero entre −1,000,000,000 y 1,000,000,000.
Ejemplos
Entrada:
numbers = [2, 8, 4, 10]
Salida esperada:
expected = 6.0
Entrada:
std::vector<long long> numbers = {2, 8, 4, 10};
Salida esperada:
double expected = 6.0;
Entrada:
long[] numbers = new long[] {2, 8, 4, 10};
Salida esperada:
double expected = 6.0;
Explicación
El orden ascendente es 2, 4, 8, 10. El par central promedia (4 + 8) / 2 = 6.
Entrada:
numbers = [9, 1, 4]
Salida esperada:
expected = 4.0
Entrada:
std::vector<long long> numbers = {9, 1, 4};
Salida esperada:
double expected = 4.0;
Entrada:
long[] numbers = new long[] {9, 1, 4};
Salida esperada:
double expected = 4.0;
Explicación
El orden ascendente es 1, 4, 9, cuyo valor central es 4.
Referencias
Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.