Problème
Afficher l’original (anglais)Triez les valeurs par ordre croissant. Pour un nombre impair de valeurs, prenez celle du milieu. Pour un nombre pair, prenez la moyenne arithmétique des deux valeurs centrales. Ce défi n'accepte que des listes non vides.
Implémentez median_number(numbers).
Entrée
numbers : La liste non vide de valeurs.
Sortie
Retournez la médiane sous forme de nombre ; elle peut se terminer par .5.
Contraintes
1 ≤ longueur de la liste ≤ 100 000. Chaque valeur est un entier compris entre −1 000 000 000 et 1 000 000 000.
Exemples
Entrée :
numbers = [2, 8, 4, 10]
Sortie attendue :
expected = 6.0
Entrée :
std::vector<long long> numbers = {2, 8, 4, 10};
Sortie attendue :
double expected = 6.0;
Entrée :
long[] numbers = new long[] {2, 8, 4, 10};
Sortie attendue :
double expected = 6.0;
Explication
L'ordre trié est 2, 4, 8, 10. Le couple central donne une moyenne de (4 + 8) / 2 = 6.
Entrée :
numbers = [9, 1, 4]
Sortie attendue :
expected = 4.0
Entrée :
std::vector<long long> numbers = {9, 1, 4};
Sortie attendue :
double expected = 4.0;
Entrée :
long[] numbers = new long[] {9, 1, 4};
Sortie attendue :
double expected = 4.0;
Explication
L'ordre trié est 1, 4, 9, dont la valeur centrale est 4.
Références
Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.