题解 | #最长公共子序列(一)#

最长公共子序列(一)

https://www.nowcoder.com/practice/672ab5e541c64e4b9d11f66011059498

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    // Write your code here
    await readline();
    let str1 = await readline();
    let str2 = await readline();
    let dp = Array.from({ length: str1.length }, () =>
        Array.from({ length: str2.length }, () => 0)
    );

    for (let i = 0; i < str1.length; i++) {
        for (let j = 0; j < str2.length; j++) {
            if (str1[i] === str2[j]) {
			  // ab aab 第二个a不加1取上 abb ab 第二个b不加1取左
			  // 综合取左上,不包含自身元素重复元素
                dp[i][j] = (dp[i - 1]?.[j - 1] || 0) + 1;
            }
            let up = dp[i - 1]?.[j] || 0;
            let left = dp[i]?.[j - 1] || 0;
            dp[i][j] = Math.max(up, left, dp[i][j]);
        }
    }
    console.log(dp[str1.length - 1][str2.length - 1]);
})();

全部评论

相关推荐

码农索隆:传音老登来也。 但是这个我不知道怎么回答,不仅仅传音吧,很多公司在候选人不第一时间接受offer或主动将报道时间延期时,都会再从池子里面捞人,直到l捞到满足公司所有要求的人。
秋招的第一个offer,...
点赞 评论 收藏
分享
牛客37185681...:马德,我感觉这是我面过最恶心的公司,一面是两个女hr,说什么实习前几个月属于试用期,试用期过了才能转成正式实习生,我***笑了,问待遇就是不说,问能不能接受全栈,沙币公司
如果可以选,你最想去哪家...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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