题解 | #公共子串计算#

公共子串计算

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

#include <stdio.h>
#include <string.h>
int max(char*s1,int len1,char*s2,int len2)
{
    int max=0;
    char std[151]={0};
    for(int k=1;k<=len1;k++)
    {
        for(int i=0;i<=len1-k;i++)
        {
            strncpy(std,&s1[i],k);
            char* p=strstr(s2,std);
            if(p!=NULL&&max<k)
            {
                max=k;
                break;
            }
        }
    }
    return max;
}
int main() {
    char s1[151]={0};
    char s2[151]={0};
    scanf("%s",s1);
    scanf("%s",s2);
    int len1=strlen(s1);
    int len2=strlen(s2);
    int result=0;
    if(len1<len2)
    result=max(s1,len1,s2,len2);
    else
    result=max(s2,len2,s1,len1);
    printf("%d\n",result);
    return 0;
}

全部评论

相关推荐

挥毫自在:想白嫖你呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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