运行截图:(字符是手动输入的)
这个代码调了我超级久 以至于不想写分析
import turtle
n = 50 # 每行间隔,小格子边长
x = -250 # x初始值
y = 200 # y初始值
# 最长公共子序列 初始化二维数组并完成c,flag赋值
def lcs(a, b):
lena = len(a)
lenb = len(b)
c = [[0 for i in range(lenb + 1)] for j in range(lena + 1)] # 记录公共字符
flag = [[0 for i in range(lenb + 1)] for j in range(lena + 1)] # 存放公共字符的结果
for i in range(lena):
for j in range(lenb):
if a[i] == b[j]:
c[i + 1][j + 1] = c[i][j] + 1
flag[i + 1][j + 1] = 'ok'
elif c[i + 1][j] > c[i][j + 1]:
c[i + 1][j + 1] = c[i + 1][j]