2021年8月3日 星期二

LCS VB.Net

 Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim s1 = {0, 2, 5, 7, 9, 3, 1, 2} ' s1(0) 與s2(0) 未算入

        Dim s2 = {0, 3, 5, 1, 3, 2, 8}

        Dim n = UBound(s1)

        Dim m = UBound(s2)

        Dim t(n, m) As Integer

        For i = 1 To n

            t(i, 0) = 0

        Next

        For i = 1 To m

            t(0, i) = 0

        Next

        For i = 1 To n

            For j = 1 To m

                If s1(i) = s2(j) Then

                    t(i, j) = t(i - 1, j - 1) + 1

                Else

                    t(i, j) = Math.Max(t(i - 1, j), t(i, j - 1))

                End If

            Next

        Next

        MsgBox(t(n, m))

    End Sub

End Class

沒有留言: