题解 | #公共子串计算#

公共子串计算

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

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
    let arrinput = [];
    while ((line = await readline())) {
        arrinput.push(line);
    }
    let strlong = arrinput[0];
    let strshort = arrinput[1];
    if (arrinput[0].length < arrinput[1].length) {
        strlong = arrinput[1];
        strshort = arrinput[0];
    }

    //进行对比查询
    let arr = strshort.split("");
    let result = [0];
    // 挨个截取片段
    for (let i = 0; i < arr.length; i++) {
        for (let j = arr.length; j > i; j--) {
            let slice = arr.slice(i, j).join(''); //[i,j)左闭右开
            // 如果包含片段,则记录长度
            if (strlong.includes(slice)) {
                result.push(slice.length);
            }
        }
    }
    let max = Math.max(...result);
    console.log(max);
})();

全部评论

相关推荐

下个早班:秒挂就是不缺人
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 13:54
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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