给定两个只包含小写字母的字符串,计算两个字符串的最大公共子串的长度。
注:子串的定义指一个字符串删掉其部分前缀和后缀(也可以不删)后形成的字符串。
输入两个只包含小写字母的字符串。
输出一个整数,代表最大公共子串的长度。
function findLongestCommonSubstring(s1, s2) {
const shorterStr = s1.length < s2.length ? s1 : s2;
const longerStr = s1.length < s2.length ? s2 : s1;
let maxLen = 0;
for (let i = 0; i < shorterStr.length; i++) {
for (let j = shorterStr.length; j > i; j--) {
if (longerStr.includes(shorterStr.substring(i, j))) {
maxLen = Math.max(maxLen, j - i);
break;
}
}
}
return maxLen;
}
下一篇:华为OD机试真题 JavaScript 实现【相对开音节】【2022Q4 100分】,附详细解题思路
本文收录于,华为OD机试(JavaScript)真题(A卷+B卷)
每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。