function longestCommonPrefix(sub1, sub2) {
const min = Math.min(sub1.length, sub2.length);
for (let i = 0; i < min; i++) {
if (sub1[i] != sub2[i]) {
return sub1.substring(0, i);
}
}
return sub1.substring(0, min);
}
function longestRepeatingSubstring(s) {
let lrs = "";
let size = s.length;
for (let i = 0; i < size; i++) {
for (let j = i + 1; j < size; j++) {
const lcp = longestCommonPrefix(s.substring(i, size), s.substring(j, size));
if (lcp.length > lrs.length) {
lrs = lcp;
}
}
}
return lrs;
}
const s = "nodejspythonphpjavacdartcppjavacsharp";
console.log(longestRepeatingSubstring(s));
/*
run
pjavac
*/