How to find the length of longest common subsequence (LCS) present in two strings with PHP

1 Answer

0 votes
function mymax($a, $b) {
    return ($a > $b) ? $a : $b;
}
  
function lcs($s1, $s2, $s1_len, $s2_len) {
    if ($s1_len == 0 || $s2_len == 0) {
        return 0;
    }
    if ($s1[$s1_len - 1] == $s2[$s2_len - 1]) {
        return 1 + lcs($s1, $s2, $s1_len - 1, $s2_len - 1);
    }
    else {
        return mymax(lcs($s1, $s2, $s1_len, $s2_len - 1), lcs($s1, $s2, $s1_len - 1, $s2_len));
    }
}
   
   
$s1 = "accyrb";
$s2 = "cyxyazb";
 
echo "The length of LCS is: " . lcs($s1, $s2, strlen($s1), strlen($s2));
   

  
  
/*
run:
       
The length of LCS is: 3
      
*/

 



answered Jun 7, 2019 by avibootz
...