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")