Tantangan:
Memasukkan:
Daftar bilangan bulat positif yang diurutkan.
Keluaran:
Jumlah bilangan bulat yang masih pada indeks yang sama persis, setelah memutar angka di setiap bilangan bulat jumlah indeksnya ke kiri dan menyortir daftar yang dimodifikasi lagi.
Contoh:
Input: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788]
Output (pengindeksan berbasis 0): 6
Output (pengindeksan berbasis 1):5
Mengapa?
Pengindeksan berbasis 0:
After rotating each: [8,94,73,102,592,276,8227,3338,9217,63784,89487,7887471]
Sorted again: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471]
Input indices: 0 1 2 3 4 5 6 7 8 9 10 11
Original input-list: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788]
Modified list: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471]
Modified indices: 0 2 1 3 5 4 7 6 8 9 10 11
Equal indices: ^ ^ ^ ^ ^ ^
So the output is: 6
Pengindeksan berbasis 1:
After rotating each: [8,49,37,021,925,762,2278,3383,2179,37846,94878,8874717]
Sorted again: [8,(0)21,37,49,762,925,2179,2278,3383,37846,94878,8874717]
Input indices: 1 2 3 4 5 6 7 8 9 10 11 12
Original input-list: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788]
Modified list: [8,21,37,49,762,925,2179,2278,3383,37846,94878,8874717]
Modified indices: 1 4 3 2 6 5 9 7 8 10 11 12
Equal indices: ^ ^ ^ ^ ^
So the output is: 5
Aturan tantangan:
- Daftar input dijamin hanya mengandung bilangan bulat positif.
- Daftar input dijamin akan diurutkan dari terendah ke tertinggi.
- Daftar input dijamin mengandung setidaknya dua item.
- Seperti yang Anda lihat di atas, pengindeksan berbasis 0 dan 1 diizinkan. Silakan sebutkan jawaban Anda yang mana dari dua yang Anda gunakan, karena output dapat berbeda sesuai!
- Leading
0
s setelah rotating diabaikan, yang dapat dilihat dengan contoh berbasis 1 di atas, di mana integer102
menjadi021
setelah rotating, dan kemudian diperlakukan sebagai21
. - Integer dijamin unik dalam daftar input, dan dijamin tetap unik setelah rotasi selesai.
- Perhatikan bahwa kita hanya melihat posisi bilangan bulat yang diputar terkait dengan posisi input, bukan dengan nilai daftar input. Untuk memperjelas apa yang saya maksudkan dengan ini: dengan daftar masukan
[1234,3412]
dan pengindeksan berbasis 1, daftar menjadi[2341,1234]
setelah memutar setiap bilangan bulat itu jumlah indeks kali, dan kemudian ketika diurutkan menjadi[1234,2341]
. Meskipun daftar input asli dan daftar yang diputar berisi bilangan bulat1234
pada posisi terdepan, mereka tidak sama! The diputar1234
adalah3412
sebelumnya. Output 1-diindeks untuk daftar input ini karena itu0
, karena dua bilangan bulat telah bertukar posisi mereka. - Input fleksibel. Dapat berupa daftar / aliran / array bilangan bulat / string / digit-array, dll. Sebutkan apa yang telah Anda gunakan jika Anda tidak mengambil input sebagai bilangan bulat.
Aturan umum:
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jangan biarkan bahasa kode-golf mencegah Anda memposting jawaban dengan bahasa yang bukan kode. Cobalah untuk memberikan jawaban sesingkat mungkin untuk bahasa pemrograman 'apa saja'. - Aturan standar berlaku untuk jawaban Anda dengan aturan I / O default , sehingga Anda diizinkan untuk menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat dan tipe pengembalian, program penuh. Panggilanmu.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda (yaitu TIO ).
- Juga, menambahkan penjelasan untuk jawaban Anda sangat dianjurkan.
Kasus uji:
Input: [8, 49, 73, 102, 259, 762, 2782, 3383, 9217, 37846, 89487, 7471788]
0-based output: 6
1-based output: 5
Input: [1234, 3412]
0-based output: 2
1-based output: 0
Input: [2349, 2820, 17499, 21244, 29842, 31857, 46645, 56675, 61643, 61787]
0-based output: 3
1-based output: 0
Input: [4976, 11087, 18732, 22643, 52735]
0-based output: 2
1-based output: 3
Input: [4414, 5866, 7175, 8929, 14048, 16228, 16809, 19166, 24408, 25220, 29333, 44274, 47275, 47518, 53355]
0-based output: 4
1-based output: 4
Input: [11205, 16820, 63494]
0-based output: 1
1-based output: 3
Jangan ragu untuk membuat lebih banyak kasus uji acak dengan (atau menarik inspirasi dari) program 05AB1E yang tidak disatukan ini , di mana inputnya adalah ukuran daftar acak (CATATAN: output generator ini mungkin tidak mematuhi aturan " Bilangan bulat dijamin unik di input-list, dan dijamin tetap unik setelah rotasi selesai ", jadi ingatlah saat menggunakannya.)