题解 | #公共子串计算#
公共子串计算
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);
})();
查看19道真题和解析