思路:
建一个矩阵,输入的输入如果为str1和str2,矩阵的维度为[str1+1,str2+2],所有值围为0。
如果当前的两个相等,则令后面的为1,依次循环,判断位的相等。
def find_lcsubstr(str1,str2):
m = [[0 for i in range(len(str2)+1)] for i in range(len(str1)+1]
nmax = 0
p = 0
for i in range(len(str1)):
for j in range(len(str2)):
if str1[i]==str2[j]:
m[i+1][j+1]=m[i][j]+1
if m[i+1][j+1]>nmax:
nmax =m[i+1][j+1]
p +=1
return m[p-nmax:p],nmax