Дана строка длины N, содержащая символы [A-Z], как определить самый длинный палиндром для отдельного символа?
Я проиллюстрирую это на примере:
Дана строка: JOHNOLSON
Анализируя строку, мы обнаруживаем, что у нас есть палиндром с символом O
такой, что строка выглядит как J
O
HN
O
LS
O
N
. Палиндром для O
имеет длину 7 и выглядит как O
--
O
--
O
. Также обратите внимание, что существует палиндром с N
, но его длина всего 6.
Другой пример,
Дана строка: ABCJOHNOLSON
дает тот же результат, что и выше, с палиндромом из O
длины 7, который выглядит как O
--
O
--
O
.
Однако в данной строке ABCJOHNOLSONDA
самый длинный индивидуальный символьный палиндром имеет длину 14 с символом A
и выглядит как A
------------
A
.
Другие простые примеры включают:
ABA
--> A
-
A
(длина 3)
ABAXYZ
--> A
-
A
(длина 3)
ABAXYZA
--> A
---
A
(длина 5), не длина 7, потому что A
-
A
---
A
не является палиндромом для буквы A
.
Обратите особое внимание на последний пример, поскольку он иллюстрирует один из тонких нюансов проблемы.