题解 | #公共子串计算#

公共子串计算

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

const rl = require("readline").createInterface({ input: process.stdin });

const inputs = [];
rl.on("line", (line) => {
    inputs.push(line);
}).on("close", () => {
    const res = resolve(inputs);
    console.log(res);
});

function resolve(inputs) {
    const s1 = inputs[0];
    const s2 = inputs[1];

    const m = s1.length, n = s2.length;

    const dp = Array.from(Array(m+1), ()=> Array(n + 1).fill(0));

    let res = -1;

    for(let i = 1; i <= m; i++) {
        for(let j = 1; j <= n; j++) {
            if(s1[i - 1] === s2[j - 1]) {
                dp[i][j] = dp[i - 1][j - 1] + 1;
            }

            res = Math.max(res, dp[i][j]);
        }
    }

    return res;
}

子串:注意连续性

全部评论

相关推荐

点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 10:39
一个证都没&nbsp;我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
06-17 21:57
门头沟学院 Java
白友:噗嗤,我发现有些人事就爱发这些,明明已读不回就行了,就是要恶心人
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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