class Solution:
def longestCommonSubsequence(self, text1: str, text2: str) -> int:
len1=len(text1)
len2=len(text2)
g=[[0 for _ in range(len2)] for _ in range(len1)]
if text1[0]==text2[0]:
g[0][0]=1
else:
g[0][0]=0
for i in range(1,len2):
if text1[0]==text2[i]:
g[0][i]=1
else:
g[0][i]=g[0][i-1]
for i in range(1,len1):
if text1[i]==text2[0]:
g[i][0]=1
else:
g[i][0]=g[i-1][0]
for i in range(1,len1):
for j in range(1,len2):
if text1[i]==text2[j]:
g[i][j]=g[i-1][j-1]+1
else:
g[i][j]=max(g[i-1][j],g[i][j-1])
g[i][j]=max(g[i][j],g[i-1][j-1])
return g[len1-1][len2-1]