Longest Common Subsequence LeetCode solution in Python

1
class Solution:
2
def longestCommonSubsequence(self, text1: str, text2: str) -> int:
3
def lcs(ind1, ind2):
4
prev = [0 for i in range(ind2 + 1)]
5
curr = [0 for i in range(ind2 + 1)]
6

7
for i in range(1, ind1 + 1):
8
for j in range(1, ind2 + 1):
9
if text1[i - 1] == text2[j - 1]:
10
curr[j] = 1 + prev[j - 1]
11

12
else:
13
curr[j] = max(prev[j], curr[j - 1])
14
prev = list(curr) # remember to use a new list for prev
15

16
return prev[-1]
17

18
ans = lcs(len(text1), len(text2))
19
return ans

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0