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