
Решить только на С++ Совпадающие начало и конецДана строка. Требуется найти самую длинную её
подстроку, у которой совпадает первый и последний символы. Если подходит несколько подстрок, то выведите любую из них.Входные данныеНа вход подаётся одна строка из строчных латинских букв длиной не более 100 символов.Выходные данныеВыведите ответ на задачу.ПримерыВводmisisabВыводisia

Ответы на вопрос

Ответ:
удачи с сириусом, мужичек, спи сладко, а еще звезд очки необязательные, но если решаешь - красава, уважаю)
#include <iostream>
#include <cctype>
using namespace std ;
int main()
{
string s;
int l = 0, r = 0;
getline(cin, s);
for (int i = 0; i < s.size(); i++) {
int j = s.rfind(s[i]);
if (j - i > r - l) {
l = i;
r = j;
}
}
cout << s.substr(l, r - l + 1);
}
Объяснение:
удачи в сириусе



Для решения этой задачи мы можем перебирать все возможные подстроки и для каждой подстроки проверять, является ли она подходящей (т.е. имеет одинаковый первый и последний символ) и имеет максимальную длину.
Вот пример решения на C++:
cpp#include <iostream>
#include <string>
std::string findLongestMatchingSubstring(const std::string& s) {
int maxLength = 0;
std::string longestSubstring;
int n = s.length();
for (int i = 0; i < n; i++) {
for (int j = i; j < n; j++) {
if (s[i] == s[j] && (j - i + 1) > maxLength) {
maxLength = j - i + 1;
longestSubstring = s.substr(i, maxLength);
}
}
}
return longestSubstring;
}
int main() {
std::string input;
std::cin >> input;
std::string result = findLongestMatchingSubstring(input);
std::cout << result << std::endl;
return 0;
}
Этот код определяет функцию findLongestMatchingSubstring
, которая находит самую длинную подстроку, у которой совпадает первый и последний символ. Функция затем вызывается в функции main
, и результат выводится в консоль.


Похожие вопросы
Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili