JSFiddle - React, Tailwind, and code Playground
by Salmin Skenderovic
JavaScript
// "ABAZDC", "BACDBAD" => "ABAD"
// A => 0, OK
// B => 1, OK
// A => OK
//
//
//
//
// "AGGTAB", "GXTXAYB" => "GTAB"
// "aaaa", "aa" => "aa"
function longestCommon(s1, s2) {
const allSubs = [];
for (let i = 0; i < s1.length; i++) {
getSubSequance(s1.slice(i), s2)
}
console.log(allSubs)
}
// Returns 1 subseq
function getSubSequance(s1, s2) {
const sub = [];
for (let i = 0; i < s2.length; i++) {
const foundIndex = findIndex(s1, s2.slice(i));
if (foundIndex == -1) {
return sub;
} else {
sub.push(s2[foundIndex])
i = foundIndex;
}
}
}
function findIndex(s1, s2) {
return s2.indexOf(s1[0]);
}
function test(s1, s2, r) {
longestCommon(s1, s2);
}
test("ABAZDC", "BACDBAD", "ABAD")