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

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

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

#include <stdio.h>
#include <string.h>

int main() {
    
    char sht[310] = {0};
    char lon[310] = {0};

    gets(sht);
    gets(lon);
    if(strlen(sht) > strlen(lon))
    {
        char tmp[310] = {0};
        strcpy(tmp, lon);
        strcpy(lon, sht);
        strcpy(sht, tmp);
    }

    int sht_len = strlen(sht);
    int lon_len = strlen(lon);
    char *find = NULL;
    int maxlen = 0;
    int tmp = 0;
    int begin = 0;

    for(int i = 0; i < sht_len; ++ i)
    {
        //以sht[i]为首的子串
        for(int j = 0; j < lon_len; ++ j)
        {
            if(sht[i] == lon[j])
            {
                tmp = 1;
                for(int k = 1; sht[i+k] == lon[j+k]; ++ k)
                {
                    ++ tmp;
                }

                if(tmp > maxlen)
                {
                    maxlen = tmp;
                    begin = i;
                }
                
            }
        }
    }

    for(int i = 0; i < maxlen; ++ i)
    {
        putchar(sht[begin+i]);
    }

    return 0;
}

全部评论

相关推荐

05-26 22:25
门头沟学院 Java
Java小肖:不会是想叫你过去把你打一顿吧,哈哈哈
点赞 评论 收藏
分享
叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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