题解 | #公共子串计算#

公共子串计算

http://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b

#include<iostream>
using namespace std;
int main()
{
    string a,b;
    while(cin>>a>>b)
    {
        int c=0;
        for(int i=0;i<a.length();i++)
        {
            for(int j=0;j<b.length();j++)
            {
                for(int m=0;m<min(a.length()-i,b.length()-j);m++)
                {
                    if(a[i+m]==b[j+m]&&i+m!=a.length()-1&&j+m!=b.length()-1)
                    {
                        continue;
                    }
                    else if(a[i+m]!=b[j+m])
                    {
                        if(m>c)
                        {
                            c=m;
                            m=0;
                    
                        }
                            break;
                    }
                    else if(a[i+m]==b[j+m]&&(i+m==a.length()-1||j+m==b.length()-1))
                    {
                        if(m+1>c)
                        {
                            c=m+1;
                            m=0;
                    
                        } 
                         break; 
                    }
                }
            }
        }
        cout<<c;
    }
        return(0);
}
全部评论

相关推荐

湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务