题解 | #MP3光标位置#

公共子串计算

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

#include<iostream>
using namespace std;
#include<string>

int main()
{
    string s1,s2,sh,sl;
    cin>>s1;
    cin>>s2;
    int len1=s1.length(),len2=s2.length(),lenl,lenh;
    //sl为短字符串,sh为长字符串
    if(len1>len2)
    {
       lenh=len1;
        lenl=len2;
        sh=s1;
        sl=s2;
        
    }
    else{
       lenh=len2;
        lenl=len1;
        sh=s2;
        sl=s1; 
    }
    int max1=0,max2=0,k,ii;
    //分三次循环,第一层是短字符串遍历,第二层是长字符串遍历,第三层是while遍历重复的部分,max1为重复部分长度
    //max2为最后的最长重复字符串长度
    for(int i=0;i<lenl;i++)
    {
        
        for(int j=0;j<lenh;j++)
        {
            max1=0;
            ii=i;
            k=j;
            while(1)
            {
                
                if(sl[ii]==sh[k])
                {
                    k++;
                    ii++;
                    max1++;
                }
                else{
                    break;
                }
                if(ii>=lenl||k>=lenh)
                {
                    break;
                }
            }
            if(max1>max2)
            {
                max2=max1;
            }
            
            
        }
        
        
        
    }
    cout<<max2<<endl;
    
    
    
}
    

全部评论

相关推荐

05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-27 15:19
简历上能写3个月吗?
码农索隆:大胆写,主要你能把实习经历包装好,可以看一下我这篇帖子https://www.nowcoder.com/share/jump/4888395581180798063
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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