รับสตริงl
ค้นหาสตริงย่อย palindromic ทั้งหมดp
ของl
(รวมถึงรายการซ้ำและสตริงอักขระเดี่ยว) ถัดไปจัดเรียงสตริงย่อยทั้งหมดใหม่p
ให้เป็นพาลินโดรมที่ถูกต้อง (อาจมีคำตอบที่ถูกต้องหลายข้อ) ถ้ามันเป็นไปไม่ได้ที่จะจัดเรียงใหม่p
ใน palindrome เดียวโปรแกรมของคุณอาจมีพฤติกรรมที่ไม่ได้กำหนด (ข้อผิดพลาดสแต็ค - ล้น, ออก, แขวน / / ฆ่า John Dvorak ฯลฯ โดยไม่ได้ตั้งใจ)
ตัวอย่าง
กรณีทดสอบที่ถูกต้อง
l = anaa
p = ['a', 'n', 'a', 'a', 'aa', 'ana']
result = anaaaaana or aanaaanaa or aaananaaa
l = 1213235
p = ['1', '2', '1', '3', '2', '3', '5', '121', '323']
result = 1213235323121
l = racecar
p = ['r', 'a', 'c', 'e', 'c', 'a', 'r', 'cec', 'aceca', 'racecar']
result = racecarcecaacecracecar (there are others)
l = 11233
p = ['1', '11', '1', '2', '3', '33', '3']
result = 113323311 or 331121133
l = abbccdd
p = ['a', 'b', 'bb', 'b', 'c', 'cc', 'c', 'd', 'dd', 'd']
result = bbccddaddccbb or ccbbddaddbbcc or (etc...)
l = a
p = ['a']
result = a
กรณีทดสอบไม่ถูกต้อง (เป็นไปไม่ได้)
l = 123456789
p = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
result = <not possible, behavior undefined>
l = hjjkl
p = ['h', 'j', 'jj', 'j', 'k', 'l']
result = <not possible, behavior undefined>
l = xjmjj
p = ['x', 'j', 'jmj', 'm', 'j', 'jj', 'j']
result = <not possible, behavior undefined>
กฎระเบียบ
- หากคำที่ป้อนเข้านั้นเป็นแบบ palindrome นั้นคำนั้นจะถูกต้องเหมือนเป็นอินพุต
- ควรส่งคืนซับสตริงเดียวเท่านั้นอันใดอันที่คุณเลือกนั้นจะเป็นกฎเกณฑ์ตราบเท่าที่ใช้ได้
- หากอินพุตไม่มีเอาต์พุตที่สามารถใช้งานได้รหัสของคุณอาจมีพฤติกรรมที่ไม่ได้กำหนด
- อินพุตจะประกอบด้วยอักขระ ASCII ที่พิมพ์
0x20-0x7E
ได้เท่านั้น - นี่คือโค้ดกอล์ฟจำนวนไบต์ต่ำสุดคือผู้ชนะ
"abbccdd"
เป็นความผิด: ตัวอักษรสองตัวสุดท้ายที่ควรจะเป็นไม่ได้"bb"
"dd"