Palindrome เป็นคำที่ตรงกันข้ามกัน
ขณะนี้มีคำบางคำที่อาจมีลักษณะเหมือน palindromes แต่ไม่ใช่ ยกตัวอย่างเช่นพิจารณาคำ sheesh
, sheesh
ไม่ palindrome เพราะเป็นสิ่งที่ตรงกันข้ามของมันhseehs
ซึ่งเป็นที่แตกต่างกัน แต่ถ้าเราพิจารณาให้เป็นตัวอักษรเดียวแล้วก็กลับเป็นsh
sheesh
คำชนิดนี้เราจะเรียกว่าเซมิโคลอน
โดยเฉพาะคำหนึ่งคำคือกึ่ง Palindrome หากเราสามารถแบ่งคำนั้นออกเป็นชิ้น ๆ จำนวนหนึ่งเช่นเมื่อคำสั่งของชิ้นนั้นกลับคำเดิมจะเกิดขึ้น (สำหรับsheesh
ชิ้นส่วนเหล่านั้นsh e e sh
) เราจะต้องไม่มีชิ้นที่มีตัวอักษรจากครึ่งทั้งสองของคำ (มิฉะนั้นทุกคำจะเป็นกึ่ง Palindrome) ตัวอย่างเช่นrear
ไม่ใช่กึ่ง Palindrome เพราะr ea r
มีอัน ( ea
) ที่มีตัวอักษรจากทั้งสองด้านของคำเดิม เราพิจารณาอักขระกลางในคำที่มีความยาวคี่ให้อยู่ด้านใดด้านหนึ่งของคำดังนั้นสำหรับคำที่มีความยาวคี่อักขระกลางจะต้องอยู่ในกลุ่มของมันเสมอ
งานของคุณจะทำรายการของจำนวนเต็มบวกและตรวจสอบว่าพวกเขาเป็นกึ่ง Palindrome รหัสของคุณควรส่งออกค่าไม่เท่ากันที่สอดคล้องกันสองค่าหนึ่งค่าหากอินพุตเป็นแบบกึ่ง Palindrome และอีกค่าหนึ่ง อย่างไรก็ตามลำดับไบต์ของรหัสของคุณจะต้องเป็นกึ่ง palindrome-ตัวเอง
คำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์ที่น้อยลง
การทดสอบกรณี
[] -> 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
โปรแกรมเพื่อสร้างผลงานทดสอบที่มากขึ้น
borribleออกมาชี้ว่าสิ่งเหล่านี้มีความคล้ายคลึงกับทั่วไป palindromes ดังนั้นหากคุณต้องการอ่านเพิ่มเติมนั่นเป็นจุดเริ่มต้น