题解 | #查找两个字符串a,b中的最长公共子串#

查找两个字符串a,b中的最长公共子串

https://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506

#include <stdio.h>

#include<string.h>

int main() {

    int i,j,max=0,count;

    char str1[301],str2[301],str[301],ans[301],str_o[301];

    scanf("%s",str1);

    scanf("%s",str2);

    //str1为较短字符串,较短的优先,故放在第一层循环

    if(strlen(str1)>strlen(str2))

    {

        strcpy(str,str1);

        strcpy(str1,str2);

        strcpy(str2,str);  

    }

    for(i=0;i<strlen(str1);i++)

    {

        

        for(j=0;j<strlen(str2);j++)

        {

            count=0;

            

             for(int f1=i,f2=j;str1[f1]==str2[f2]&&f1<strlen(str1)&&f2<strlen(str2);f1++,f2++)

             {

             ans[count]=str2[f2];//自动覆盖了,故不需要置零

             count++;

             }

        if(max<count)

        {

            max=count;

            strcpy(str_o,ans);

        }

        }

        

        

    }

    printf("%s",str_o);

    return 0;

}

全部评论

相关推荐

榕城小榕树:1200单休,我去干点啥别的不好
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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