算法编程题:
- 0-1背包问题
- 矩阵连乘问题
- 最长公共子序列问题
3.最长公共子序列问题
# 最长公共子序列长度 :求两个字符串的最长公共子序列长度
# 输入:输入长度≤100的两个字符串
# 输出:输出两个字符串的最长公共子序列长度。
# 思想:动态规划法+分治
# 填表c矩阵:三种情况填表
# i,j>0,x[i]=y[i]
# i,j>0,x[i]!=j[i]
# i,j=0
# 动态规划法得到的表格,自底向上递推运算
def matrix(x,y):
# 初始化矩阵
c = [[0 for i in range(0, len(y) + 1)] for i in range(0, len(x) + 1)]
b = [[0 for i in range(0, len(y) + 1)] for i in range(0, len(x) + 1)]
for i in range(1,len(x) + 1):
c[i][0] = 0
b[i][0] = 0
for j in range(1,len(y) + 1):
c[0][j] = 0
b[0][j] = 0
# 动态规划法填表
for i in range(1,le
本周学习重点是动态规划法,包括解决0-1背包问题、矩阵连乘的高效计算及探讨最长公共子序列问题。通过这些经典算法,深入理解动态规划思想。
订阅专栏 解锁全文
1090

被折叠的 条评论
为什么被折叠?



