1def longest_common_subsequence(text1, text2):
2 m, n = len(text1), len(text2)
3 dp = [[0] * (n + 1) for _ in range(m + 1)]
4 for row in range(1, m + 1):
5 for col in range(1, n + 1):
6 if text1[row - 1] == text2[col - 1]:
7 dp[row][col] = dp[row - 1][col - 1] + 1
8 else:
9 dp[row][col] = max(dp[row - 1][col], dp[row][col - 1])
10 return dp[m][n]