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

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

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

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

int main(){
    string s1,s2;
    std::cin >> s1 >>  s2;
    if(s1.size()>s2.size()){
        swap(s1, s2);
    }
    int m = s1.size(),n=s2.size();
    int f[m+1][n+1];
    int posx=0,posy=0;
    memset(f,0,sizeof(int)*(m+1)*(n+1));
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){
            if(s1[i-1]==s2[j-1]){
                if(f[i-1][j-1]){
                    f[i][j]=f[i-1][j-1]+1;
                }else{
                    f[i][j]=1;
                }
            }
            if(f[i][j]>f[posx][posy]){
                posx=i;posy=j;
            }
        }
    }
    string res = s1.substr(posx-f[posx][posy],f[posx][posy]);
    std::cout << res;
    return 0;
}

#23届找工作求助阵地#
全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
每晚夜里独自颤抖:这个在牛客不是老熟人了吗
点赞 评论 收藏
分享
那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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