Esta é uma questão de código-golfe.
Entrada
Uma lista de números inteiros não negativos em qualquer formato que seja mais conveniente.
Resultado
A mesma lista em ordem classificada, em qualquer formato que seja mais conveniente.
Restrição
- Seu código deve ser executado no tempo O (n log n) no pior caso, onde
n
está o número de números inteiros na entrada. Isso significa que o quicksort aleatório está fora, por exemplo. No entanto, existem muitas outras opções para você escolher. - Não use nenhuma biblioteca / função / similar de classificação. Além disso, não use nada que faça a maior parte da classificação funcionar como uma biblioteca de heap. Basicamente, o que você implementar, implemente a partir do zero.
Você pode definir uma função, se quiser, mas então mostre um exemplo dela em um programa completo realmente funcionando. Ele deve ser executado com sucesso e rapidez em todos os casos de teste abaixo.
Casos de teste
In: [9, 8, 3, 2, 4, 6, 5, 1, 7, 0]
Out:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In: [72, 59, 95, 68, 84]
Out:[59, 68, 72, 84, 95]
In: [2, 2, 1, 9, 3, 7, 4, 1, 6, 7]
Out:[1, 1, 2, 2, 3, 4, 6, 7, 7, 9]
In: [2397725, 1925225, 3304534, 7806949, 4487711, 8337622, 2276714, 3088926, 4274324, 667269]
Out:[667269,1925225, 2276714, 2397725,3088926, 3304534, 4274324, 4487711, 7806949, 8337622]
Suas respostas
Indique o algoritmo de classificação que você implementou e o tamanho da sua solução no título da sua resposta.
Algoritmos de classificação de tempo O (n log n)
Existem muitos algoritmos de tempo O (n log n) existentes. Esta tabela possui uma lista de alguns deles.
intersect
vem em "semelhante" se ele classifica automaticamente a matriz. Se você remover duplicatas, você fornecerá a saída errada.
intersect
classificar automaticamente a matriz. Eu acho que você quer excluir isso também. Que talunique
(remover duplicatas, classificar o resultado)?