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
noznacza 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.
intersectjest objęty „podobnym”, jeśli automatycznie sortuje tablicę. Jeśli usuniesz duplikaty, otrzymasz nieprawidłowe dane wyjściowe.
intersectautomatyczne sortowanie tablicy. Chyba też chcesz to wykluczyć. Co powiesz naunique(usuń duplikaty, posortuj wynik)?