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

1 Answer

0 votes
Public Class Program 
    Public Shared Function mymax(a As String, b As String) As Integer
        return If (a > b, a, b)
    End Function
    
    Public Shared Function lcs(s1 As String, s2 As String, lens1 As String, lens2 As String) As Integer
        If lens1 = 0 Or lens2 = 0 Then
            return 0
        End If
        If s1(lens1 - 1) = s2(lens2 - 1) Then
            return 1 + lcs(s1, s2, lens1 - 1, lens2 - 1)
        Else
            return mymax(lcs(s1, s2, lens1, lens2 - 1), lcs(s1, s2, lens1 - 1, lens2))
        End If
    End Function 
    
    Public Shared Sub Main()
        Dim s1 As String = "accyrb"
        Dim s2 As String = "cyxyazb"
  
        Console.WriteLine("Length of LCS is {0}", lcs(s1, s2, s1.Length, s2.Length)) 
    End Sub
End Class



' run:

' Length of LCS is 3

 



answered Jun 7, 2019 by avibootz
...