给定两个字符串str1和str2,输出两个字符串的最长公共子串

题目保证str1和str2的最长公共子串存在且唯一。

方法1:转移数组

既然题目保证最长公共子串存在且唯一,那就不用做各种判断了。

 def LCS(str1 , str2 ):# write code herem=len(str1)n=len(str2)dp=[[0 for _ in range(n+1)]for _ in range(m+1)]pos=0max_len=0for i in range(1,m+1):for j in range(1,n+1):if str1[i-1]==str2[j-1]:dp[i][j]=1+dp[i-1][j-1]if dp[i][j]>max_len:max_len=dp[i][j]pos=i-1res=str1[pos-max_len+1:pos+1]return res

方法2:滑动窗口

滑动窗口最关键的代码在于sub=str1[right-left:right],right-left保证了窗口的长度,这样只会存储最长的子串。

def LCS(str1 , str2 ):left=0res=""for right in range(len(str1)+1):sub=str1[right-left:right]if sub in str2:res=subleft+=1return res

最长公共子串——python相关推荐

  1. java实现最长连续子序列_最长公共子序列/最长公共子串 Python/Java实现

    关注我的微信公众号:后端技术漫谈 不定期推送关于后端开发.爬虫.算法题.数据结构方面的原创技术文章,以及生活中的逸闻趣事. 我目前是一名后端开发工程师.主要关注后端开发,数据安全,网络爬虫,物联网,边 ...

  2. 最长公共子串(Python)

    问题定义 给定两个字符串S1,S2S_1 , S_2S1​,S2​,找到一个最长的字符串S3S_3S3​,要求S3S_3S3​即是S1S_1S1​的子串,又是S2S_2S2​的子串 什么是子串:在字符 ...

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

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

  4. 用Python计算最长公共子序列和最长公共子串

    如何用Python计算最长公共子序列和最长公共子串 1. 什么是最长公共子序列?什么是最长公共子串? 1.1. 最长公共子序列(Longest-Common-Subsequences,LCS) 最长公 ...

  5. python实现编辑距离,最长公共子序列,最长公共子串

    python实现编辑距离 python实现最大公共子序列 python实现最长公共子串

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

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

  7. LCS/最长公共子序列/最长公共子串 实现 Python/Java

    参考 http://blog.csdn.net/u012102306/article/details/53184446 http://blog.csdn.net/hrn1216/article/det ...

  8. Python最长公共子串

    Python最长公共子串 方法一 最简单最容易想到的方法,去数组第一个元素为最长公共前缀,如果是,就return,如果不是就减去最后一个单词.只到找到位置. class Solution:def lo ...

  9. [Python]获取2个字符串的最长公共子串

    原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:https://blog.csdn.net/humanking7/article/details/84645055 文章目录 @[toc] ...

  10. python -- 最长公共子串

    #! /usr/bin/env python3 # -*- coding: utf-8 -*-# 对于最长公共子串问题,答案为网格中最大的数字--它可能并不位于最后的单元格中def findlonge ...

最新文章

  1. vsftpd + mysql + virtual users
  2. delphi valuelisteditor控件的使用
  3. 网易云信携手SNH48 GROUP,打造在线追星新体验
  4. 如果公司的网络屏蔽了游戏【英雄联盟】的链接请求,使用这种方法玩游戏。
  5. [Angualr 2] Using FormBuilder
  6. 什么是正则表达式?有什么用?常用的字符有哪些?
  7. 常用的限流框架,你都会用吗?
  8. [Audio processing] Harmonic change detection function (HCDF)
  9. 【IT】学生数据库小结2
  10. 一篇搞定 Redis6(完整版)
  11. kafka常用的操作命令
  12. 【信号检测】基于隐马尔可夫模型HMM算法实现睡眠状态检测matlab代码
  13. 婴幼儿体重在线计算机,宝宝身高体重标准计算器
  14. J-LINK放了一晚,不能识别,灯一直闪
  15. 马哥教育N63期-第三周作业
  16. linux内核裁剪的具体过程和选择
  17. Android-系统服务-settings
  18. 刷脸支付条赛道上支付宝遥遥领先
  19. 43 备忘录模式(详解版)
  20. 2022年网搭国赛PXE服务

热门文章

  1. rose oracle双机切换故障,oracle 审计引起的问题 (双机软件roseha)
  2. js2D物理引擎插件
  3. 离合器膜片弹簧的优化设计matlab,基于matlab目标函数的建立优化离合器膜片弹簧的设计研究.doc...
  4. android imageview 半透明,如何将半透明视图叠加到ImageView上?
  5. CodeBlock调试(DeBug)指南
  6. 大气压力换算公式_大气压怎么算
  7. 燕山大学计算机辅助设计三级项目报告,《计算机辅助设计Auto CAD》燕山大学
  8. meshlab点云转mesh
  9. android ssh软件,优秀的 Android SSH 工具推荐
  10. 如何加载和保存AutoCAD DXF文件(四参数法)