python实现求两个字符串的最长公共子串方法


Posted in Python onJuly 20, 2018

如下所示:

# coding:utf-8
'''
求两个字符串的最长公共子串
思想:建立一个二维数组,保存连续位相同与否的状态
'''
 
def getNumofCommonSubstr(str1, str2):
 
 lstr1 = len(str1)
 lstr2 = len(str2)
 record = [[0 for i in range(lstr2+1)] for j in range(lstr1+1)] # 多一位
 maxNum = 0   # 最长匹配长度
 p = 0    # 匹配的起始位
 
 for i in range(lstr1):
  for j in range(lstr2):
   if str1[i] == str2[j]:
    # 相同则累加
    record[i+1][j+1] = record[i][j] + 1
    if record[i+1][j+1] > maxNum:
     # 获取最大匹配长度
     maxNum = record[i+1][j+1]
     # 记录最大匹配长度的终止位置
     p = i + 1
 return str1[p-maxNum:p], maxNum
 
 
if __name__ == '__main__':
 str1 = raw_input()
 str2 = raw_input()
 
 res = getNumofCommonSubstr(str1, str2)
 print res

输出结果:字符串str1中的第一个最长公共子串(若有重复)

python实现求两个字符串的最长公共子串方法

以上这篇python实现求两个字符串的最长公共子串方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python pdb调试方法分享
Jan 21 Python
python如何在列表、字典中筛选数据
Mar 19 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
Mar 22 Python
Python中max函数用于二维列表的实例
Apr 03 Python
python实现字符串加密 生成唯一固定长度字符串
Mar 22 Python
python删除文件夹下相同文件和无法打开的图片
Jul 16 Python
Python企业编码生成系统之系统主要函数设计详解
Jul 26 Python
python爬虫爬取笔趣网小说网站过程图解
Nov 18 Python
python pandas利用fillna方法实现部分自动填充功能
Mar 16 Python
500行python代码实现飞机大战
Apr 24 Python
python中shell执行知识点
May 06 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
Dec 01 Python
Django基础知识与基本应用入门教程
Jul 20 #Python
opencv python 2D直方图的示例代码
Jul 20 #Python
Linux下python制作名片示例
Jul 20 #Python
Python爬虫的两套解析方法和四种爬虫实现过程
Jul 20 #Python
使用python脚本实现查询火车票工具
Jul 19 #Python
Python 判断文件或目录是否存在的实例代码
Jul 19 #Python
Flask框架Jinjia模板常用语法总结
Jul 19 #Python
You might like
Re:从零开始的异世界生活 第2季 开播啦
2020/07/24 日漫
php采集时被封ip的解决方法
2010/08/29 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
php DOS攻击实现代码(附如何防范)
2012/05/29 PHP
PHP 正则表达式小结
2015/02/12 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
php微信公众平台交互与接口详解
2016/11/28 PHP
jQuery插件Validate实现自定义表单验证
2016/01/18 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
vue项目中跳转到外部链接的实例讲解
2018/09/20 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
2019/02/21 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
[03:17]DOTA2英雄基础教程 剧毒术士
2013/12/12 DOTA
Python实现随机选择元素功能
2017/09/14 Python
CentOS7.3编译安装Python3.6.2的方法
2018/01/22 Python
Python 中字符串拼接的多种方法
2018/07/30 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
关于Pytorch的MNIST数据集的预处理详解
2020/01/10 Python
python 弧度与角度互转实例
2020/04/15 Python
CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
2020/06/01 HTML / CSS
购买大码女装:Lane Bryant
2016/09/07 全球购物
世界上最好的帽子:Tilley
2016/11/27 全球购物
June Jacobs尊积帕官网:知名的spa水疗护肤品牌
2019/03/21 全球购物
荷兰在线钓鱼商店:Raven
2019/06/26 全球购物
亚洲颇具影响力的男性在线购物零售商:His
2019/11/24 全球购物
实习期自我鉴定
2013/10/11 职场文书
大学生违纪检讨书300字
2014/10/25 职场文书
法务专员岗位职责
2015/02/14 职场文书
保研推荐信格式
2015/03/25 职场文书
2015年秋季运动会前导词
2015/07/20 职场文书
win10电脑老是死机怎么办?win10系统老是死机的解决方法
2022/08/05 数码科技