Todos os desafios
Fácil 0 resolvidos 0% de aceitação

Mediana de uma Lista

Encontre o valor central de uma lista após ordená-la.

Ordene os valores em ordem crescente. Para um número ímpar de valores, pegue o valor do meio. Para um número par, calcule a média aritmética dos dois valores centrais. Este desafio aceita apenas listas não vazias.

Implemente median_number(numbers).

Entrada

numbers: A lista não vazia de valores.

Saída

Retorne a mediana como um número; ela pode terminar em .5.

Restrições

1 ≤ tamanho da lista ≤ 100.000. Cada valor é um inteiro entre −1.000.000.000 e 1.000.000.000.

Exemplos

Exemplo 1
Entrada:
numbers = [2, 8, 4, 10]

Saída esperada:
expected = 6.0
Entrada:
std::vector<long long> numbers = {2, 8, 4, 10};

Saída esperada:
double expected = 6.0;
Entrada:
long[] numbers = new long[] {2, 8, 4, 10};

Saída esperada:
double expected = 6.0;

Explicação

A ordem crescente é 2, 4, 8, 10. O par central tem média (4 + 8) / 2 = 6.

Exemplo 2
Entrada:
numbers = [9, 1, 4]

Saída esperada:
expected = 4.0
Entrada:
std::vector<long long> numbers = {9, 1, 4};

Saída esperada:
double expected = 4.0;
Entrada:
long[] numbers = new long[] {9, 1, 4};

Saída esperada:
double expected = 4.0;

Explicação

A ordem crescente é 1, 4, 9, cujo valor central é 4.

Referências

Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.

Aprenda com outros

Soluções da comunidade

Ainda não há soluções publicadas. Resolva este desafio para compartilhar a primeira.