给出两个字符串(可能包含空格),找出其中最长的公共连续子串,输出其长度

题目介绍

给出两个字符串(可能包含空格),找出其中最长的公共连续子串,输出其长度。

输入描述:
输入为两行字符串(可能包含空格),长度均小于等于50.


输出描述:
输出为一个整数,表示最长公共连续子串的长度。


输入例子1:
abcde
abgde


输出例子1:
2

源代码

#include<iostream>
#include<algorithm>
 
using namespace std;
 
int main()
{
    string a,b;
    getline(cin,a);
    getline(cin,b);
    int maxlen=0;
    if(a.empty()||b.empty()) cout<<0<<endl;
    for(int i=0;i<a.size();i++)
    {
        for(int j=i;j<a.size();j++)
        {
            string temp=a.substr(i,j-i+1);
            if(b.find(temp)!=-1)
            {
                int temp_len=temp.length();
                maxlen=max(maxlen,temp_len);
            }
        }
    }
    cout<<maxlen<<endl;
    return 0;
}

发布了263 篇原创文章 · 获赞 292 · 访问量 41万+

猜你喜欢

转载自blog.csdn.net/qq_29462849/article/details/98111861