Ini adalah pertanyaan kode-golf.
Memasukkan
Daftar bilangan bulat non-negatif dalam format apa pun adalah yang paling nyaman.
Keluaran
Daftar yang sama dalam urutan diurutkan dalam format apa pun adalah yang paling nyaman.
Larangan
- Kode Anda harus dijalankan dalam waktu O (n log n) dalam kasus terburuk di mana
n
jumlah bilangan bulat dalam input. Ini berarti bahwa quicksort acak keluar misalnya. Namun ada banyak pilihan lain untuk dipilih. - Jangan gunakan perpustakaan sortir / fungsi / serupa. Juga jangan gunakan apa pun yang sebagian besar berfungsi untuk Anda seperti perpustakaan tumpukan. Pada dasarnya, apa pun yang Anda implementasikan, implementasikan dari awal.
Anda dapat mendefinisikan suatu fungsi jika Anda suka tetapi kemudian tolong tunjukkan contohnya dalam program lengkap yang benar-benar berfungsi. Ini harus berjalan dengan sukses dan cepat pada semua test case di bawah ini.
Uji kasus
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]
Jawaban anda
Silakan sebutkan algoritma penyortiran yang telah Anda terapkan dan lamanya solusi Anda dalam judul jawaban Anda.
Algoritma pengurutan waktu O (n log n)
Ada banyak algoritma waktu O (n log n) yang ada. Tabel ini memiliki daftar beberapa di antaranya.
intersect
berada di bawah "mirip" jika secara otomatis mengurutkan array. Jika Anda menghapus duplikat Anda akan memberikan output yang salah.
intersect
secara otomatis mengurutkan array. Saya kira Anda juga ingin menyingkirkannya. Bagaimana denganunique
(menghapus duplikat, mengurutkan hasilnya)?