Advertisement
mhrabbi

Longest Common Subsequence Dynamic programming

Aug 21st, 2020
816
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.84 KB | None | 0 0
  1. # Longest Common Subsequence Dynamic programming
  2. # R@1313I
  3.  
  4.  
  5. def lcs(X, Y):
  6.     # find the length of the strings
  7.     m = len(X)
  8.     n = len(Y)
  9.  
  10.     # Array for storing Dynamic Value
  11.     L = [[None] * (n + 1) for i in range(m + 1)]
  12.  
  13.     # Implying the LCS Algorithm
  14.     for i in range(m + 1):
  15.         for j in range(n + 1):
  16.             if i == 0 or j == 0:
  17.                 L[i][j] = 0
  18.             elif X[i - 1] == Y[j - 1]:
  19.                 L[i][j] = L[i - 1][j - 1] + 1
  20.             else:
  21.                 L[i][j] = max(L[i - 1][j], L[i][j - 1])
  22.  
  23.     # Sending the result L[m][n]
  24.     return L[m][n]
  25.  
  26.  
  27. Get1stInput = input("Input Some Character For Sequences: ")
  28. X = Get1stInput.upper()
  29. Get2ndInput = input("Input Some More Character For Checking LCS: ")
  30. Y = Get2ndInput.upper()
  31. print("Length of LCS in the given Character is ", lcs(X, Y))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement