a = input() b = input() la = len(a) lb = len(b) #建立二维列表,行数la+1,列数lb+1,初值为0 res = [[x for x in range(la+1)]for y in range(lb+1)] lc = [] mmax = 0 for i in range(1, la+1): for j in range(1, lb+1): if a[i-1] == b[j-1]: res[i][j] = res[i-1][j-1] + 1 if( a[i-1]!=b[j-1] ): mmax = res[i][j]
时间: 2024-03-21 11:42:15 浏览: 25
这段代码存在一些问题,可能会导致程序无法正常运行。以下是可能的问题及其解决方法:
1. 变量 lc 没有定义,也没有用到,可以直接删除。
2. 变量 mmax 的初始值为 0,但是在代码中并没有使用到它。如果想要找到最长公共子序列的长度,可以在循环结束后,遍历整个 res 数组,并找到其中的最大值。
3. 变量 res 的行数应该是 lb+1,列数应该是 la+1,因为第一行和第一列都是用来存储空字符串的。
4. 如果字符串 a 和 b 的长度不相等,那么代码会在第二个循环中报错。可以在建立 res 数组时,将行数和列数调换一下。
修改后的代码如下所示:
```
a = input()
b = input()
la = len(a)
lb = len(b)
# 建立二维列表,行数lb+1,列数la+1,初值为0
res = [[0 for x in range(la+1)] for y in range(lb+1)]
# 动态规划计算最长公共子序列的长度
for i in range(1, lb+1):
for j in range(1, la+1):
if a[j-1] == b[i-1]:
res[i][j] = res[i-1][j-1] + 1
else:
res[i][j] = max(res[i-1][j], res[i][j-1])
# 找到最长公共子序列的长度
mmax = 0
for i in range(1, lb+1):
for j in range(1, la+1):
if res[i][j] > mmax:
mmax = res[i][j]
print(mmax)
```
注意,这段代码只计算了最长公共子序列的长度,如果需要输出具体的子序列,还需要进行进一步处理。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)