Objektif
Hasilkan daftar orak asli, dari gerakan yang akan dilakukan Sortasi Sortir untuk mengurutkannya. Daftar asli akan memiliki semua angka dari 0
hingga N-1
(inklusif) di mana N
ukuran input.
Memasukkan
Daftar berisi gerakan yang diperlukan untuk mengurutkan daftar. Setiap nilai mewakili jumlah slot yang dipindahkan oleh nomor asli (diacak) untuk berada di posisi kanannya, perlu diingat bahwa proses ini dari kiri ke kanan.
Nilai pada posisi (0-diindeks)i
dalam daftar input akan berada di antara 0
dan i
inklusif.
Anda tidak perlu menangani input yang tidak valid, perilaku apa pun dapat diterima dalam kasus ini (crash, infinite loop, dll).
Keluaran
Daftar acak
Langkah demi langkah untuk menghasilkan gerakan
Scrambled List | Moves to sort
[4,0,2,1,3,5] | [0, , , , , ] #4 stay in place
[4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left
[0,4,2,1,3,5] | [0,1,1, , , ] #2 is moved 1 slot
[0,2,4,1,3,5] | [0,1,1,2, , ] #1 is moved 2 slot
[0,1,2,4,3,5] | [0,1,1,2,1, ] #3 is moved 1 slot
[0,1,2,3,4,5] | [0,1,1,2,1,0] #5 is in the right place already
[0,1,2,3,4,5]
Jadi, untuk input, [0,1,1,2,1,0]
program Anda perlu meng-output[4,0,2,1,3,5]
.
Perlu diingat bahwa pergerakannya tidak ke posisi dalam daftar (akhir) yang diurutkan, tetapi pada segmen yang diurutkan (bagian yang dicetak tebal)
Uji Kasus
[0,0,0] -> [0,1,2]
[0,1,0,1] -> [1,0,3,2]
[0,0,0,0,0,5] -> [1,2,3,4,5,0]
[0,1,2,3] -> [3,2,1,0]
[0,1,1,1] -> [3,0,1,2]
[0,1,1,2,1,0] -> [4,0,2,1,3,5]
Kemenangan
Ini kode-golf , jadi jawaban terpendek menang.