题解 | #公共子串计算#
公共子串计算
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); })();