题解 | #公共子串计算#

公共子串计算

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


全部评论

相关推荐

不愿透露姓名的神秘牛友
11-16 01:46
点赞 评论 收藏
分享
11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
哇哇的菜鸡oc:他这不叫校招offer,而是实习offer
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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