Найдите самую длинную подстроку строки, которая имеет совпадающие первый и последний символы. Входные данные - строка

Найдите самую длинную подстроку строки, которая имеет совпадающие первый и последний символы. Входные данные - строка из строчных латинских букв длиной не более 100 символов. Выведите результат. Примеры:
Ввод: misis
Вывод: isi

Ввод: ab
Вывод: a

Ввод: PYTHON
Вывод: ON
Магический_Вихрь

Магический_Вихрь

Для нахождения самой длинной подстроки, которая имеет совпадающие первый и последний символы, мы можем использовать следующий алгоритм:

1. Инициализируем переменную `max_substring` пустой строкой. Она будет содержать самую длинную подстроку с заданным условием.
2. Проходимся по каждому символу входной строки.
3. Для каждого символа `ch` сравниваем его с последним символом строки. Если они совпадают, то это потенциальная подстрока с заданным условием.
4. Если текущая подстрока длиннее `max_substring`, то обновляем значение `max_substring`, присваивая ей текущую подстроку.
5. Повторяем шаги 3-4 для всех символов входной строки.
6. В конце алгоритма `max_substring` будет содержать самую длинную подстроку с совпадающими первым и последним символами.

Теперь, применим этот алгоритм к примерам из задачи для лучшего понимания:

Пример 1:
Вход: misis
Шаг 1: Инициализация `max_substring` = ""
Шаг 2: Первый символ "m"
Шаг 3: "m" не совпадает с последним символом "s", поэтому не считаем его подстрокой с заданным условием.
Шаг 4: Обновляем `max_substring` = "".
...
Пропускаем остальные шаги для краткости.
...
Шаг 6: `max_substring` = "isi". Именно эта подстрока имеет максимальную длину 3 и соответствует условию задачи.

Пример 2:
Вход: ab
Шаг 1: Инициализация `max_substring` = ""
Шаг 2: Первый символ "a"
Шаг 3: "a" совпадает с последним символом "b", поэтому это подстрока с заданным условием.
Шаг 4: Обновляем `max_substring` = "ab".
Шаг 6: `max_substring` = "a". Эта подстрока является самой длинной и имеет длину 1.

Пример 3:
Вход: PYTHON
Шаг 1: Инициализация `max_substring` = ""
Шаг 2: Первый символ "P"
Шаг 3: "P" не совпадает с последним символом "N", поэтому не считаем его подстрокой с заданным условием.
Шаг 4: Обновляем `max_substring` = "".
...
Пропускаем остальные шаги для краткости.
...
Шаг 6: `max_substring` = "". Ни одна подстрока не соответствует условиям.

Таким образом, для ввода "misis" самая длинная подстрока с совпадающими первым и последним символами - "isi". Для ввода "ab" такая подстрока - "a". Для ввода "PYTHON" подстроки с таким условием нет.
Знаешь ответ?
Задать вопрос
Привет!
hello