Palindrome adalah kata yang kebalikannya sendiri.
Sekarang ada beberapa kata yang mungkin terlihat seperti palindrom tetapi tidak. Misalnya menganggap kata sheesh
, sheesh
bukan palindrom karena kebalikannya hseehs
yang berbeda, namun jika kita anggap sh
sebagai satu huruf, maka kebalikannya sheesh
. Kata semacam ini akan kita sebut semi palindrome.
Secara khusus sebuah kata adalah semi-palindrome jika kita dapat membagi kata menjadi beberapa bilangan sehingga ketika urutan bongkahan dibalik, kata aslinya terbentuk. (Untuk sheesh
potongan-potongan itu sh e e sh
) Kami juga tidak akan memerlukan potongan berisi huruf dari kedua bagian kata (jika tidak setiap kata akan menjadi semi-palindrome). Misalnya rear
bukan semi palindrome karena r ea r
memiliki chunk ( ea
) yang berisi huruf dari kedua sisi kata aslinya. Kami menganggap karakter sentral dalam kata panjang ganjil berada di kedua sisi kata, sehingga untuk kata-kata dengan panjang ganjil karakter pusat harus selalu dalam potongan itu sendiri.
Tugas Anda adalah mengambil daftar bilangan bulat positif dan menentukan apakah itu semi palindrom. Kode Anda harus menampilkan dua nilai tidak konsisten yang konsisten, satu jika inputnya semi-palindrome dan lainnya sebaliknya. Namun urutan byte dari kode Anda harus semi-palindrome itu sendiri.
Jawaban akan dinilai dalam byte dengan lebih sedikit byte menjadi lebih baik.
Kasus uji
[] -> True
[1] -> True
[2,1,2] -> True
[3,4,2,2,3,4] -> True
[3,5,1,3,5] -> True
[1,2,3,1] -> False
[1,2,3,3,4,1] -> False
[11,44,1,1] -> False
[1,3,2,4,1,2,3] -> False
Program untuk menghasilkan lebih banyak testcases.
Borrible menunjukkan bahwa ini mirip dengan palindrom Smarandache umum . Jadi, jika Anda ingin membaca lebih lanjut, itu adalah satu tempat untuk memulai.