Ctrl K

Палиндром из двух слов

Сложная
Даны два слова first и second. Выберите **непустую** подпоследовательность из first и **непустую** подпоследовательность из second и склейте их в этом порядке. Подпоследовательность получается вычёркиванием некоторых букв (возможно, ни одной) без изменения порядка оставшихся. Верните наибольшую длину палиндрома, который можно так получить. Если ни один палиндром не собрать, верните 0.
Пример 1
first="lever", second="bell" → 5

Из "lever" берём "lev", из "bell" — "el": получается "level", длина 5.

Пример 2
first="xy", second="zz" → 0

У слов нет общих букв, а каждое слово должно дать хотя бы одну букву, поэтому палиндром не собрать — ответ 0.

Пример 3
first="noon", second="on" → 5

Берём "noo" из первого слова и "on" из второго: "nooon", длина 5.

Ограничения
  • 1 ≤ len(first), len(second) ≤ 1000
  • Оба слова состоят из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиШаблон с точкой и звёздочкой СложнаяСамый длинный сбалансированный отрезок скобок СложнаяПодходит ли строка под шаблон СложнаяПеретасовка разрезами СложнаяСколькими способами вычеркнуть Сложная
загружаем Python…
Вход
first="lever", second="bell"
Ожидается
5

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