Ctrl K

Непересекающиеся длинные палиндромы

Сложная
Дана строка text и целое положительное число min_len. Выберите в строке несколько непересекающихся подстрок (непрерывных кусков) так, чтобы каждая была палиндромом — читалась одинаково слева направо и справа налево — и имела длину не меньше min_len. Верните наибольшее количество подстрок, которое можно выбрать.
Пример 1
text="levelxnoonyy", min_len=3 → 2

Подходят «level» и «noon»: оба палиндромы длиной не меньше 3 и не пересекаются. «yy» слишком короткий.

Пример 2
text="aaaa", min_len=2 → 2

Строку можно разрезать на «aa» и «aa».

Пример 3
text="abcd", min_len=2 → 0
Ограничения
  • 1 ≤ min_len ≤ len(text) ≤ 2000
  • text состоит из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЗеркальная нарезка строки СложнаяПочти совпадающая выборка СредняяПодходит ли строка под шаблон СложнаяДве линии с пересадками СложнаяПалиндром соседними обменами Сложная
загружаем Python…
Вход
text="levelxnoonyy", min_len=3
Ожидается
2

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 111 тестов на сервере, включая скрытые.