Skip to content

Instantly share code, notes, and snippets.

@vidul-nikolaev-petrov
Last active August 29, 2015 14:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vidul-nikolaev-petrov/634fbcb8f609d5bdf9dc to your computer and use it in GitHub Desktop.
Save vidul-nikolaev-petrov/634fbcb8f609d5bdf9dc to your computer and use it in GitHub Desktop.
Longest Common Substring
/**
* Longest Common Substring in JavaScript
*
* This is the brute-force solution.
*
* @param {String} s1
* @param {String} s2
* @return {String} r1
*/
function longestCommonSubstring(s1, s2) {
var r1 = '',
r2 = '';
for (var i = 0; i < s1.length; i++) {
for (var j = 0; j < s2.length; j++) {
if (s1[i] === s2[j]) {
for (var k = j, c = i; k < s2.length; k++) {
if (s1[c] === s2[k]) {
r2 += s1[c];
c++;
}
else {
if (r2.length > r1.length) {
r1 = r2;
}
r2 = '';
break;
}
}
}
}
}
return r1;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment