To jest pytanie do golfa.
Wejście
Lista liczb całkowitych nieujemnych w dowolnym formacie jest najwygodniejsza.
Wynik
Ta sama lista w porządku posortowanym w dowolnym formacie jest najwygodniejsza.
Ograniczenie
- Twój kod musi działać w czasie O (n log n) czasu w najgorszym przypadku , gdzie
n
oznacza liczbę liczb na wejściu. Oznacza to, że na przykład nie ma randomizowanego szybkiego sortowania. Istnieje jednak wiele innych opcji do wyboru. - Nie używaj żadnej biblioteki sortującej / funkcji / podobnej. Nie używaj też niczego, co wykonuje większość sortowania, jak biblioteki sterty. Zasadniczo, cokolwiek wdrożysz, zaimplementuj go od zera.
Możesz zdefiniować funkcję, jeśli chcesz, ale następnie pokaż jej przykład w pełnym programie, który faktycznie działa. Powinien działać pomyślnie i szybko na wszystkich poniższych testach.
Przypadki testowe
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]
Twoje odpowiedzi
Podaj zaimplementowany algorytm sortowania i długość swojego rozwiązania w tytule swojej odpowiedzi.
Algorytmy sortowania czasu O (n log n)
Istnieje wiele algorytmów czasowych O (n log n). Ta tabela zawiera listę niektórych z nich.
intersect
jest objęty „podobnym”, jeśli automatycznie sortuje tablicę. Jeśli usuniesz duplikaty, otrzymasz nieprawidłowe dane wyjściowe.
intersect
automatyczne sortowanie tablicy. Chyba też chcesz to wykluczyć. Co powiesz naunique
(usuń duplikaty, posortuj wynik)?