in reply to Re: Longest common substring with N mismatches
in thread Longest common substring with N mismatches

It was buggy, but now it's fixed. Also, it now returns all matches instead of just one (still in O(M*N) time).

  • Comment on Re^2: Longest common substring with N mismatches

Replies are listed 'Best First'.
Re^3: Longest common substring with N mismatches
by Anonymous Monk on Sep 12, 2017 at 09:49 UTC
    Ikegami, that is indeed precisely what I was after.
    One small question, if you may:
    Is there a way that I can know which part (beg-end) of each of the two strings I provide is covered by the LCSS?
    Many thanks!

      Just change what you put into @solutions. Replace

      $i-$l+1

      with

      # Start of match in first string # End of match in first string [ $i-$l+1, $i+1 ]

      or

      # Start of match in first string # End of match in first string # Start of match in second string # End of match in second string [ $i-$l+1, $i+1, $j-$l+1, $j+1 ]

      or

      # Start of match in first string # Start of match in second string # Length of match [ $i-$l+1, $j-$l+1, $l ]

      and remove

      map { substr($s, $_, $best_l) }
        Hi ikegami! Many thanks! I forgot to post it here, I think I solved my problem with the String::Approx module (since I always had just 1 mismatch). But I will try your approach as well, it seems to be more solid anyway...
        Many thanks again!