code: public static List<int[]> longestCommonSubsequence(String s0, String s1) {
          int[][] lengths = new int[s0.length() + 1][s1.length() + 1];
          for (int i = 0; i < s0.length(); i++)
              for (int j = 0; j < s1.length(); j++)
                  if (s0.charAt(i) == (s1.charAt(j)))
                      lengths[i + 1][j + 1] = lengths[i][j] + 1;
                  else
                      lengths[i + 1][j + 1] = Math.max(lengths[i + 1][j], lengths[i][j + 1]);
  
          return extractIndexes(lengths, s0.length(), s1.length());
      }
docs: Returns the longest common subsequence between two strings.
  
  @return a list of size 2 int arrays that corresponds
  to match of index in sequence 1 to index in sequence 2.