Tantangan:
Diberikan bilangan bulat positif, hasilkan keluaran satu digit terpanjang yang terjadi setidaknya dua kali, DAN memiliki batas digit lain (atau awal / akhir bilangan bulat).
Sebuah contoh:
Input: 7888885466662716666
Hasil terpanjang dari satu digit adalah 88888( 7[88888]5466662716666) dengan panjang 5. Namun, urutan ini hanya terjadi satu kali dalam bilangan bulat.
Sebaliknya, hasil untuk input 7888885466662716666harus 6666( 78888854[6666]271[6666]), karena itu terjadi (setidaknya) dua kali.
Aturan tantangan:
- Panjang urutan mengambil prioritas dari jumlah kali itu terjadi. (Yaitu dengan input
8888858888866656665666, kami output88888([88888]5[88888]66656665666; panjang 5, terjadi dua kali), dan tidak666(88888588888[666]5[666]5[666]; panjang 3, terjadi tiga kali). - Jika panjang beberapa kali sama, kita hasilkan satu dengan jumlah kejadian terbesar. Yaitu dengan input
3331113331119111, kami output111(333[111]333[111]9[111]; panjang 3, terjadi tiga kali), dan tidak333([333]111[333]1119111; panjang 3 juga, tetapi terjadi dua kali) - Jika jumlah-kejadian dan panjang dari beberapa urutan sama, Anda dapat menampilkan salah satu dari mereka, atau semua (dalam urutan apa pun). Yaitu dengan masukan
777333777333, mungkin output adalah:777;333;[777, 333]; atau[333, 777]. - Selanjutnya harus memiliki batas digit lainnya (atau awal / akhir bilangan bulat). Yaitu dengan input
122222233433hasilnya adalah33(1222222[33]4[33]; panjang 2, terjadi dua kali) dan tidak222(1[222][222]33433, panjang 3, terjadi dua kali dengan keduanya tidak valid).- Ini berlaku untuk semua angka yang diperhitungkan pada penghitung-kejadian. Yaitu dengan input
811774177781382hasilnya adalah8([8]117741777[8]13[8]2; panjang 1, terjadi tiga kali) dan tidak77(811[77]41[77]781382/811[77]417[77]81382; panjang 2, terjadi dua kali dengan satu tidak valid) atau1(8[1][1]774[1]7778[1]382; panjang 1, terjadi empat kali dengan dua tidak valid).
- Ini berlaku untuk semua angka yang diperhitungkan pada penghitung-kejadian. Yaitu dengan input
- Anda dapat berasumsi bahwa input tidak akan mengandung digit apa pun
0(akan cocok[1-9]+) (Ini untuk menghindari keharusan berurusan dengan kasus uji seperti10002000yang seharusnya dihasilkan000, di mana sebagian besar bahasa akan menampilkan0secara default.) - Anda dapat berasumsi bahwa input akan selalu mengandung setidaknya satu output yang valid.
- I / O keduanya fleksibel. Dapat berupa daftar / larik / aliran digit / byte / karakter atau sebagai string, bukan bilangan bulat tunggal.
Aturan umum:
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jangan biarkan bahasa kode-golf mencegah Anda memposting jawaban dengan bahasa non-codegolf. Cobalah untuk memberikan jawaban sesingkat mungkin untuk bahasa pemrograman 'apa saja'. - Aturan standar berlaku untuk jawaban Anda, jadi Anda diperbolehkan menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat dan tipe pengembalian, program lengkap. Panggilanmu.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda.
- Juga, menambahkan penjelasan untuk jawaban Anda sangat dianjurkan.
Kasus uji:
Input: 7888885466662716666 / [7,8,8,8,8,8,5,4,6,6,6,6,2,7,1,6,6,6,6]
Output: 6666 / [6,6,6,6]
Input: 3331113331119111 / [3,3,3,1,1,1,3,3,3,1,1,1,9,1,1,1]
Output: 111 / [1,1,1]
Input: 777333777333 / [7,7,7,3,3,3,7,7,7,3,3,3]
Possible outputs: 777; 333; [777,333]; [333;777] / [7,7,7]; [3,3,3]; [[7,7,7],[3,3,3]]; [[3,3,3],[7,7,7]]
Input: 122222233433 / [1,2,2,2,2,2,2,3,3,4,3,3]
Output: 33 / [3,3]
Input: 811774177781382 / [8,1,1,7,7,4,1,7,7,7,8,1,3,8,2]
Output: 8 / [8]
Input: 555153333551 / [5,5,5,1,5,3,3,3,3,5,5,1]
Output: 1 / [1]
Input: 12321 / [1,2,3,2,1]
Possible outputs: 1; 2; [1,2]; [2,1] / [1]; [2]; [[1],[2]]; [[2],[1]]
Input: 944949949494999494 / [9,4,4,9,4,9,9,4,9,4,9,4,9,9,9,4,9,4]
Output: 4 / [4]
Input: 8888858888866656665666 / [8,8,8,8,8,5,8,8,8,8,8,6,6,6,5,6,6,6,5,6,6,6]
Output: 88888 / [8,8,8,8,8]
Input: 1112221112221111 / [1,1,1,2,2,2,1,1,1,2,2,2,1,1,1,1]
Output: 111; 222; [111,222]; [222,111] / [1,1,1]; [2,2,2]; [[1,1,1],[2,2,2]]; [[2,2,2],[1,1,1]]
Input: 911133111339339339339339 / [9,1,1,1,3,3,1,1,1,3,3,9,3,3,9,3,3,9,3,3,9,3,3,9]
Output: 111 / [1,1,1]
222ketika dibatasi oleh bilangan bulat lainnya. Saya kira kita tidak seharusnya menghitung kejadian yang merupakan substring dari 1111. Lebih baik menunggu OP.
1112221112221111ini adalah subsequences dan jumlah mereka: 1111 (1), 111 (2), 222 (2). Karena kita hanya output urutan terjadi setidaknya dua kali, output dapat menjadi salah satu dari: 111, 222,[111,222] , [222,111]. (Lihat aturan keempat untuk informasi lebih lanjut.) Pada dasarnya 1111hanya akan dianggap sebagai 1111, dan bukan sebagai 1dan 111atau 11dan 11. Saya akan menambahkan test case Anda, tetapi hasilnya salah satu atau keduanya 111dan 222.
8888858888866656665666. Jika saya mengartikan tantangan dengan benar, solusi Brachylog dan 05AB1E gagal.