פלינדרום (Palindrome) הוא מילה, מספר, משפט, או כל רצף סימנים אחר שקריאתו מימין לשמאל ומשמאל לימין היא זהה.
לדוגמה, המילים "aha", "1221" הן פלינדרום.
במערך חד-ממדי המכיל מספרים שלמים, נגדיר רצף פלינדרומי כסדרה של איברים רצופים במערך המהווים פלינדרום. לדוגמה,
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 1 | 3 | 2 | 3 | 10 | 10 | 3 | 2 | 4 |
ישנם ארבעה רצפים פלינדרומים:
4 ל-5: {10, 10}1 ל-3: {3, 2, 3}3 ל-6: {3, 10, 10, 3}2 ל-7: {2, 3, 10, 10, 3, 2}ועוד תשעה רצפים פלינדרומים, כל אחד מהם באורך 1, שהם כל אחד מהתאים.
נתון מערך חד-ממדי של מספרים שלמים arr יש להחזיר את אורכו של הרצף הפלינדרומי הגדול ביותר.
לדוגמה, במערך הזה שלעיל, הרצף הפלינדרומי הגדול ביותר הוא בין האינדקסים 2 ל-7, ואורכו הוא 6. לכן, יוחזר הערך 6.
השיטה צריכה להיות רקורסיבית ללא שימוש בלולאות כלל. כך גם כל שיטות העזר (אם תכתבו) לא יכולות להכיל לולאות.
arr = [1, 3, 2, 3, 10, 10, 3, 2, 4]
6
הסבר: הרצף הפלינדרומי הארוך ביותר הוא בין האינדקסים 2 ל-7, ואורכו הוא 6.
arr = [1, 2, 3, 4, 5]
1
הסבר: כל איבר בפני עצמו הוא פלינדרום, ולכן האורך המקסימלי הוא 1.
arr = [1, 2, 3, 2, 1]
5
הסבר: כל המערך הוא פלינדרום ולכן אורכו 5.
arr = [7, 8, 9, 8, 7, 6, 5]
5
הסבר: הרצף הפלינדרומי הארוך ביותר הוא בין האינדקסים 0 ל-4.
arr = [1, 1, 1, 1, 1]
5
הסבר: כל המערך הוא פלינדרום ולכן אורכו 5.
arr = [10, 20, 30, 20, 10, 40, 50]
5
הסבר: הרצף הפלינדרומי הארוך ביותר הוא בין האינדקסים 0 ל-4.
arr = [1, 2, 3, 4, 3, 2, 1, 5, 6]
7
הסבר: הרצף הפלינדרומי הארוך ביותר הוא בין האינדקסים 0 ל-6.
arr = [5, 6, 7, 6, 5, 8, 9]
5
הסבר: הרצף הפלינדרומי הארוך ביותר הוא בין האינדקסים 0 ל-4.
קלט:
arr = [1, 3, 2, 3, 10, 10, 3, 2, 4]
הפלט המבוקש:
6