Отсортируйте значения по возрастанию. Если количество элементов нечётное, возьмите средний элемент. Если чётное — вычислите среднее арифметическое двух средних элементов. В этом задании принимаются только непустые списки.
Реализуйте функцию median_number(numbers).
Входные данные
numbers: Непустой список значений.
Выходные данные
Верните медиану в виде числа; результат может оканчиваться на .5.
Ограничения
1 ≤ длина списка ≤ 100 000. Каждое значение — целое число от −1 000 000 000 до 1 000 000 000.
Примеры
Ввод:
numbers = [2, 8, 4, 10]
Ожидаемый вывод:
expected = 6.0
Ввод:
std::vector<long long> numbers = {2, 8, 4, 10};
Ожидаемый вывод:
double expected = 6.0;
Ввод:
long[] numbers = new long[] {2, 8, 4, 10};
Ожидаемый вывод:
double expected = 6.0;
Пояснение
Отсортированный порядок: 2, 4, 8, 10. Средняя пара: (4 + 8) / 2 = 6.
Ввод:
numbers = [9, 1, 4]
Ожидаемый вывод:
expected = 4.0
Ввод:
std::vector<long long> numbers = {9, 1, 4};
Ожидаемый вывод:
double expected = 4.0;
Ввод:
long[] numbers = new long[] {9, 1, 4};
Ожидаемый вывод:
double expected = 4.0;
Пояснение
Отсортированный порядок: 1, 4, 9; среднее значение — 4.
Ссылки
Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.