[编程题] 最长公共连续子串

牛牛有两个字符串(可能包含空格),牛牛想找出其中最长的公共连续子串,希望你能帮助他,并输出其长度。

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

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

输入例子:
abcde
abgde

输出例子:
2


水题

#include"iostream"
#include"vector"
#include"cstdio"
#include"string.h"
using namespace std;

int dp[1007][1007]={0};
string jj;
int main()
{
    char ai[100],bi[100];
    int mmax=-1e9;
    gets(ai); gets(bi);
    memset(dp,0,sizeof(dp));
    for(int i=0;ai[i]!='\0';i++)
    {
        for(int j=0;bi[j]!='\0';j++)
        {
            if(ai[i]==bi[j])
                dp[i+1][j+1]=dp[i][j]+1; 
            if(dp[i+1][j+1]>mmax)
                mmax=dp[i+1][j+1];
        }
    }
    cout<return 0;
}

你可能感兴趣的:(牛客网)