题解 | #公共子串计算#

公共子串计算

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

#include<string.h>
int fun(char str[],char arr[],int len1,int len2)
{
    int p1=0,p2=0,count=0,max=0;
    for(int i=0;i<len1;i++)
    {
        for(int j=0;j<len2;j++)
        {
            if(str[i]==arr[j])
            {
                count=0;
                p1=i;
                p2=j;
                while(str[p1]==arr[p2]&&p1<len1&&p2<len2)
                {
                    count=count+1;
                    p1=p1+1;
                    p2=p2+1;
                }
                if(count>max)
                {
                    max=count;
                }
            }
        }
    }
    return max;
}
int main()
{
    char str[151];
    while(scanf("%s",str)!=EOF)
    {
        char arr[151];
        scanf("%s",arr);
        int len1=strlen(str);
        int len2=strlen(arr);
        printf("%d\n",fun(str,arr,len1,len2));
    }
    return 0;
}
全部评论

相关推荐

05-07 20:52
吉林大学 Java
点赞 评论 收藏
分享
勤奋努力的椰子这就开摆:这些经历跟硬件都没啥关系呀
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务