JSFiddle - React, Tailwind, and code Playground

by Malin Jayakody

JavaScript

const testData = [
  ['ABAZDC', 'BACBAD', 'ABAD'],
  ['AGGTAB', 'GXTXAYB', 'GTAB'],
  ['aaaa', 'aa', 'aa']
];

function combString(s1, s2) {
  let longestResult = '';
  for (let s1I = 0; s1I < s1.length; s1I++) {
    for (let s2I = 0; s2I < s2.length; s2I++) {
      let j = s2I;
      let result = '';
      for (let i = s1I; i < s1.length; i++) {
        let char = s1[i];
        let charIndex = s2.indexOf(char, j);
        if (charIndex !== -1) {
          j = charIndex + 1;
          result += char;
        }
      }
      console.log(result);
      if (result.length > longestResult.length) {
        longestResult = result;
      }
    }
  }
  return longestResult;
}

console.log(combString('BACBAD', 'ABAZDC'));