Gabungkan Sortir
Dalam tantangan ini, Anda akan menerapkan subrutin gabungan dari semacam gabungan. Khususnya, Anda harus membuat fungsi atau program atau kata kerja atau serupa yang mengambil dua daftar, masing-masing diurutkan dalam urutan meningkat, dan menggabungkannya ke dalam satu daftar diurutkan dalam urutan meningkat. Persyaratan:
- Algoritme Anda harus mengambil jumlah waktu linear asimtotik dalam ukuran input. Tolong berhenti memberikan solusi O (n ^ 2).
- Anda tidak boleh menggunakan fungsi bawaan yang mampu mengurutkan daftar, atau menggabungkan daftar, atau hal-hal seperti itu. Kebijaksanaan penulis.
- Kode harus dapat menangani elemen berulang.
- Jangan khawatir tentang daftar kosong.
Contoh:
merge([1],[0,2,3,4])
[0,1,2,3,4]
merge([1,5,10,17,19],[2,5,9,11,13,20])
[1, 2, 5, 5, 9, 10, 11, 13, 17, 19, 20]
Ini kode-golf , jadi semoga kode terpendek menang!
b=a;b=b.length
dapat menduplikasi seluruh array a
(dan menghasilkan waktu O (n ^ 2) jika dieksekusi untuk setiap elemen) atau menduplikat hanya referensi ke array (O (n) waktu). Yang mana yang diperhitungkan?