题解 | #公共子串计算#

公共子串计算

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

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

int main() {
    string s,t;
    cin>>s>>t;
    vector<vector<int>> dp(s.size() + 1, vector<int>(t.size() + 1, 0));
    int result = 0;
    for (int i = 1; i <= s.size(); i++){
        for (int j = 1; j <= t.size(); j++){
            if (s[i - 1] == t[j - 1])
                dp[i][j] = dp[i - 1][j - 1] + 1;
            if (dp[i][j] > result)
                result = dp[i][j];
        }
    }
    cout << result;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

10-10 11:38
已编辑
湖南理工大学 Java
小浪_Coding:多沟通叭, 公式简历+学历一般的话难找
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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