Це питання з кодовим гольфом.
Вхідні дані
Список невід’ємних цілих чисел у будь-якому форматі є найзручнішим.
Вихідні дані
Той самий список у відсортованому порядку в будь-якому форматі є найзручнішим.
Обмеження
- Ваш код повинен працювати в O (n log n) час у гіршому випадку, де
n
кількість вхідних чисел. Це означає, що, наприклад, рандомізований кваксорт. Однак є багато інших варіантів на вибір. - Не використовуйте будь-яку бібліотеку сортування / функцію / подібне. Також не використовуйте нічого, що робить для вас більшу частину сортування як бібліотека купи. В основному, що б ви не реалізували, реалізуйте це з нуля.
Ви можете визначити функцію, якщо вам подобається, але тоді, будь ласка, покажіть її приклад у повній програмі, яка фактично працює. Він повинен успішно та швидко працювати на всіх наведених нижче тестових випадках.
Тестові справи
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]
Ваші відповіді
Будь ласка, вкажіть запроваджений алгоритм сортування та довжину вашого рішення у назві вашої відповіді.
Алгоритми сортування часу O (n log n)
Існує багато алгоритмів часу O (n log n). У цій таблиці є список деяких з них.
intersect
підпадає під "подібний", якщо він автоматично сортує масив. Якщо ви видалите дублікати, ви отримаєте неправильний висновок.
intersect
автоматичне сортування масиву. Я думаю, ти теж хочеш їх виправити. Як щодоunique
(видалити дублікати, сортувати результат)?