python-求两个字符串的连续最长公共子串

  • 题目
  • 思路
  • Code

题目

最长公共子串(LCS,Longest Common Substring)
思考:
s1 = ‘abcdefg’
s2 = ‘defabcd’

思路

利用动态规划的思想,找到递推关系式。

Code

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] + 1if record[i+1][j+1] > maxNum:# 获取最大匹配长度maxNum = record[i+1][j+1]# 记录最大匹配长度的终止位置p = i + 1return str1[p-maxNum:p], maxNumstr1='acbcbced'
str2='acbcbcefa'res = getNumofCommonSubstr(str1, str2)
print(res)

python-求两个字符串的连续最长公共子串相关推荐

  1. Algorithm:C++/python语言实现之求旋转数组最小值、求零子数组、求最长公共子序列和最长公共子串、求LCS与字符串编辑距离

    Algorithm:C++/python语言实现之求旋转数组最小值.求零子数组.求最长公共子序列和最长公共子串.求LCS与字符串编辑距离 目录 一.求旋转数组最小值 1.分析问题 2.解决思路 二.求 ...

  2. java 字符串子串_java实现字符串匹配求两个字符串的最大公共子串

    本文实例讲述了java实现求两个字符串最大公共子串的方法.分享给大家供大家参考,具体如下: 最近在项目工作中有一个关于文本对比的需求,经过这段时间的学习,总结了这篇博客内容:求两个字符串的最大公共子串 ...

  3. 求两个字符串的最长公共子串

    给出两个字符串,求出两个字符串的最长公共子串 #include<iostream> #include<string> using namespace std; int main ...

  4. python求两数最大公因数_Python求两个数的最大公约数

    Python求两个数的最大公约数 一.求最大公约数算法: 1. 整数A对整数B进行取整, 余数用整数C来表示 举例: C = A % B 2. 如果C等于0,则C就是整数A和整数B的最大公约数 3. ...

  5. 【236】Python求列表最长字符串及lambda和最长公共子串

    ♣ 题目部分(原文见公众号:python宝) python宝: https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzU5Nj ...

  6. php两个字符串公共,C++_C语言求两个字符串的最长公共子串,本文实例讲述了C语言求两个字 - phpStudy...

    C语言求两个字符串的最长公共子串 本文实例讲述了C语言求两个字符串的最长公共子串的方法.分享给大家供大家参考.具体实现方法如下: #include "stdio.h" #inclu ...

  7. 动态规划:求两个字符串的最长公共子序列

    问题描述:求两个字符串的最长公共子序列. 思路:使用动态规划的思想,将问题分解为小的子问题. 假设两个字符串序列分别为:X{x0, x1, x2,......, xm}, Y{y0, y1, y2,. ...

  8. python 匹配两个字符串的相似度

    python 匹配两个字符串的相似度 用到difflib库,该库是python自带的,不需要在进行下载 用起来很简单,直接放代码: #导入库 from difflib import SequenceM ...

  9. python使用加号运算符可以连接两个字符串_如何在Python连接两个字符串

    如何在Python连接两个字符串 Python字符串是Unicode字符的集合. Python提供了许多内置函数来进行字符串操作.字符串串联是一个字符串与另一字符串合并时的过程.可以通过以下方式完成. ...

最新文章

  1. 【网络结构】小议如何跳出魔改网络结构的火坑
  2. Shell(1)——执行脚本
  3. 数学专业考研及读研目录[2014年11月7日更新]
  4. Cache超清晰逻辑详解----不一致性(待更)
  5. vue 开发2017年变化回顾及2018年展望
  6. jax-rs jax-ws_在JAX-RS中使用@Context [第1部分]
  7. 接口和抽象类是否继承了Object
  8. Elasticsearch Java Low Level REST Client(通用配置)
  9. java内嵌excel_如何在Excel中嵌入URL中的图像?
  10. mysql 客户端 帮助_四、 MySQL客户端工具及SQL讲解
  11. 图像取证:源识别和伪造检测(Image Forensics: source identification and tampering detection) 续2
  12. C# 生成word文件 小学一年级口算题生成器(代码)
  13. 【每日蓝桥】5、一三年省赛Java组真题“有理数类”
  14. Yocto系列讲解[实战篇]44 - bb文件中函数实操演示(2)
  15. HJ87 密码强度等级(一把过)
  16. 预计每天全世界上传的短视频超过4亿条
  17. 通信原理第6章节-数字基带传输系统
  18. [GWCTF 2019]枯燥的抽奖
  19. Mac病毒安全防护软件推荐:Symantec Endpoint Protection
  20. Java在ACM中的使用

热门文章

  1. axios的使用(请求,响应拦截器)
  2. 设置EditText输入的文字全部变成大写或小写
  3. 海外区块链投融资持续火热 | 产业区块链发展周报
  4. 使用POI对excel文件进行读取
  5. python之生产者消费者模型
  6. R语言之LDA算法应用
  7. (附源码)springboot毕业论文管理系统 毕业设计 030946
  8. Python程序设计第三章测验总结
  9. cc150第一章JAVA字符串和数组总结
  10. 外部表不是预期的格式错误