Anda harus menulis sebuah program atau fungsi yang mengambil bilangan bulat non-negatif kdan daftar bilangan bulat yang diurutkan Lsebagai input dan output atau mengembalikan daftar yang dihaluskan M.
Mdibuat dari daftar naik Ldengan memasukkan paling banyak kelemen integer sambil menjaga daftar diurutkan. Bilangan bulat yang dimasukkan harus dipilih sedemikian rupa sehingga perbedaan maju maksimum Makan sekecil mungkin. Kami akan menyebut nilai terkecil ini sebagai "kehalusan".
Perbedaan maju daftar -1 3 8 11 15adalah 4 5 3 4dan perbedaan maju maksimum adalah 5.
Dengan 2insersi, kelancaran 2 10 15is 4dan kemungkinan output 2 6 10 11 15dengan perbedaan forward 4 4 1 4.
Memasukkan
- Bilangan bulat non-negatif
k. - Daftar bilangan bulat naik
Ldengan setidaknya 2 elemen.
Keluaran
- Daftar bilangan bulat naik
M. - Jika ada beberapa jawaban yang benar, keluarkan salah satu dari mereka (ada yang mencukupi).
- Solusi Anda harus menyelesaikan contoh uji kasus di bawah satu menit di komputer saya (saya hanya akan menguji kasus tutup. Saya memiliki PC di bawah rata-rata.).
Contohnya
Input ( k, L) => Output yang mungkin dan selisih maju maksimum (yang bukan merupakan bagian dari output) dalam tanda kurung
0, 10 20 => 10 20 (10)
2, 1 10 => 1 4 7 10 (3)
2, 2 10 15 => 2 6 10 11 15 (4)
3, 2 10 15 => 2 5 8 10 12 15 (3)
5, 1 21 46 => 1 8 15 21 27 33 39 46 (7)
5, 10 20 25 33 => 10 14 18 20 24 25 29 33 (4)
3, 4 4 6 9 11 11 15 16 25 28 36 37 51 61 => 4 4 6 9 11 11 15 16 22 25 28 36 37 45 51 59 61 (8)
15, 156 888 2015 => 156 269 382 495 608 721 834 888 1001 1114 1227 1340 1453 1566 1679 1792 1905 2015 (113)
8, -399 -35 -13 56 157 => -399 -347 -295 -243 -191 -139 -87 -35 -13 39 56 108 157 (52)
5, 3 3 3 => 3 3 3 3 (0)
Ini adalah kode-golf sehingga entri terpendek menang.
rF<seq>membongkar tupel dua elemen.