描述
对于给定的两个字符串 s 和 t,你需要找出它们的最长公共子串的长度。
子串为从原字符串中,连续的选择一段字符(可以全选、可以不选)得到的新字符串。
如果字符串 a 的一个子串 a′ 与字符串 b 的一个子串 b′ 完全相等,那么子串 a′,b′ 是字符串 a,b 的一个公共子串。
输入描述:
第一行输入一个长度为 1≦len(s)≦150、仅由小写字母组成的字符串 s。
第二行输入一个长度为 1≦len(t)≦150、仅由小写字母组成的字符串 t。
输出描述:
输出一个整数,代表 s 和 t 的最长公共子串的长度。
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
const s = await readline();
const t = await readline();
let maxLen = 0;
for (let i = 0; i < s.length + 1; i++) {
for (let j = i + 1; j < s.length + 1; j++) {
if (t.indexOf(s.slice(i, j)) !== -1)
maxLen = Math.max(s.slice(i, j).length, maxLen);
}
}
console.log(maxLen);
})();