题解 | #公共子串计算#

公共子串计算

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

完整代码如下:
while (line1 = readline()) {
    line2 = readline();
    let max = 0;
    let temp = 0;
    //分别遍历line1和line2
    for (let i = 0; i < line1.length; i++) {
        for (let j = 0; j < line2.length; j++) {
            if (line1[i] == line2[j]) {
                //利用substring方法和getCommonStr函数得到相同字符串长度,并通过max和temp更新最大长度;
                temp = getCommonStr(line1.substring(i), line2.substring(j))
                if (temp > max) {
                    max = temp;
                };

        }
    }
    }
    //返回最大相同字符串长度;
    console.log(max);
}
//这个函数相对比较简单,即寻找两个开头相同的string,共同字符串的长度。
function getCommonStr(str1, str2) {
    let count = 0;
    let res = '';
    for (let i = 0; i < str1.length; i++) {
        if (str1[i] == str2[i]) {
            count += 1;
        }
        else {
            break;
        }
    }
    return count;
}        


全部评论

相关推荐

三年之期已到我的offer快到碗里来:9硕都比不上9本
点赞 评论 收藏
分享
10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务