题解 | #公共子串计算#

公共子串计算

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;
}

子串:注意连续性

全部评论

相关推荐

废铁汽车人:秋招真是牛鬼蛇神齐聚一堂
点赞 评论 收藏
分享
Natrium_:这时间我以为飞机票
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务