import numpy as np
最长公共子串
# 最长公共子串
def LongestCommonString(a, b):
length = 0
substr = ''
cell = np.zeros(shape=(len(a), len(b)))
for i in range(len(a)):
for j in range(len(b)):
if a[i] == b[j]:
cell[i][j] = cell[i - 1][j - 1] + 1
if cell[i][j] > length:
length = cell[i][j]
substr += a[i]
return length, substr
最长公共子序列
# 最长公共子序列
def LongestCommonList(a, b):
length = 0
substr = ''
cell = np.zeros(shape=(len(a), len(b)))
for i in range(len(a)):
for j in range(len(b)):
if a[i] == b[j]:
cell[i][j] = cell[i - 1][j - 1] + 1
if cell[i][j] &g