#求两个字符串的最长公共子串(动态规划法)
def getMaxSub(str1,str2):n1=len(str1)n2=len(str2)s=[] #公共子串maxs=0 #最长公共子串的长度maxI=0 #记录最长公共子串最后一个字符的位置list1=list(str1)list2=list(str2)M=[([None]*(n1+1)) for i in range(n2+1)] #(n1+1)*(n2+1)维空矩阵,记录公共子串for i in range(n1+1):M[i][0]=0for j in range(n2):M[0][j]=0 for i in range(n1): #将公共字串的长度信息填写到二维数组中for j in range(n2):if list1[i]==list2[j]:M[i+1][j+1]=M[i][j]+1if M[i+1][j+1]>maxs:maxs=M[i+1][j+1]maxI=i+1else:M[i+1][j+1]=0 for i in range(maxI-maxs,maxI):s.append(list1[i])result=''.join(s)print(result)
if __name__ == '__main__':str1='abccade'str2='dgcadde'getMaxSub(str1,str2) #结果为cad
详细解决方案
python求两个字符串的最长公共子串(动态规划法)(如abccade和dgcadde最长公共子串为cad)
热度:77 发布时间:2023-12-26 23:23:12.0
相关解决方案
- ubuntu9.04上安装mic2 出错 (python setup.py build)
- ubuntu9.04下安装mic2 出错 (python setup.py build),该如何解决
- Qt4 设计员 无法生成 python 代码
- 请教如何理解JAVA、C++ Perl、PHP、Ruby、Python
- Qt4 设计师 无法生成 python 代码,该如何解决
- python sybase装配
- python fastcgi怎么获取POST的数据字段
- python(django框架) + mysql 的编码有关问题,求解
- python html parser库lxml的引见和使用
- python html 转义有关
- Python 用HTMLParser解析HTML资料
- python fastcgi怎么获取POST的数据字段
- python 模拟Web登录与上载
- [Python]web服务器小结篇
- Python 于 webgame 的应用(上)
- SAE python web.py bootstrap 开发记要
- Python WEB运用框架纵览
- 一般目录上 Python 建立 Web 文件服务
- 数目字代码把大数据数字口语化(python+js) 数字代码
- python JSON string 的中文有关问题
- python 兑现新版websocket协议 server
- 【python 学习之web篇】用python 3.1.2兑现crawler-C
- python――施用yaml数据格式,PK -> XML,JSON
- Learn Python The Hard Way学习(52) - 开始您的web游戏
- Python 自然语言处理
- Python 相关有关问题
- 菜鸟,先学JAVA,还是Ruby,python
- 生手之前对编程无概念现在想转这行,想尽快入门,java ,python,net、php、C之间如
- 【大哥大姐】python 操作MS SQL Server 2005 效率
- python serial模块运用