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 相关文章推荐
linux 下实现python多版本安装实践
Nov 18 Python
Python中顺序表的实现简单代码分享
Jan 09 Python
python3实现名片管理系统
Nov 29 Python
在python环境下运用kafka对数据进行实时传输的方法
Dec 27 Python
python爬虫神器Pyppeteer入门及使用
Jul 13 Python
Python实现时间序列可视化的方法
Aug 06 Python
Python 过滤错误log并导出的实例
Dec 26 Python
django在保存图像的同时压缩图像示例代码详解
Feb 11 Python
CentOS 7如何实现定时执行python脚本
Jun 24 Python
python如何爬取网页中的文字
Jul 28 Python
python日志通过不同的等级打印不同的颜色(示例代码)
Jan 13 Python
Python OpenCV超详细讲解读取图像视频和网络摄像头
Apr 02 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
PHP与已存在的Java应用程序集成
2006/10/09 PHP
php预定义常量
2006/12/25 PHP
PHP编程中字符串处理的5个技巧小结
2007/11/13 PHP
关于JSON以及JSON在PHP中的应用技巧
2013/11/27 PHP
PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法
2015/11/11 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
checkbox使用示例
2013/08/23 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
node.js中的fs.chownSync方法使用说明
2014/12/16 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
angularjs点击图片放大实现上传图片预览
2017/02/24 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
微信小程序实现topBar底部选择栏效果
2018/07/20 Javascript
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
Python3.x版本中新的字符串格式化方法
2015/04/24 Python
详解python tkinter教程-事件绑定
2019/03/28 Python
Python实现字典按key或者value进行排序操作示例【sorted】
2019/05/03 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
2019/10/24 Python
解决python gdal投影坐标系转换的问题
2020/01/17 Python
Python实现名片管理系统
2020/02/14 Python
keras自定义损失函数并且模型加载的写法介绍
2020/06/15 Python
使用CSS变量实现炫酷惊人的悬浮效果
2019/04/26 HTML / CSS
介绍一下sql server的安全性
2014/08/10 面试题
回门宴新郎答谢词
2014/01/12 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
卫生巾广告词
2014/03/18 职场文书
计算机系统管理员求职信
2014/06/20 职场文书
关于保护环境的建议书
2014/08/26 职场文书
优秀家长自荐材料
2014/08/26 职场文书
2014年幼儿园保育工作总结
2014/12/02 职场文书
2015年幼儿园元旦亲子活动方案
2014/12/09 职场文书
保研推荐信范文
2015/03/25 职场文书
IDEA使用SpringAssistant插件创建SpringCloud项目
2021/06/23 Java/Android