最长公共子串——python
给定两个字符串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相关推荐
- java实现最长连续子序列_最长公共子序列/最长公共子串 Python/Java实现
关注我的微信公众号:后端技术漫谈 不定期推送关于后端开发.爬虫.算法题.数据结构方面的原创技术文章,以及生活中的逸闻趣事. 我目前是一名后端开发工程师.主要关注后端开发,数据安全,网络爬虫,物联网,边 ...
- 最长公共子串(Python)
问题定义 给定两个字符串S1,S2S_1 , S_2S1,S2,找到一个最长的字符串S3S_3S3,要求S3S_3S3即是S1S_1S1的子串,又是S2S_2S2的子串 什么是子串:在字符 ...
- Algorithm:C++/python语言实现之求旋转数组最小值、求零子数组、求最长公共子序列和最长公共子串、求LCS与字符串编辑距离
Algorithm:C++/python语言实现之求旋转数组最小值.求零子数组.求最长公共子序列和最长公共子串.求LCS与字符串编辑距离 目录 一.求旋转数组最小值 1.分析问题 2.解决思路 二.求 ...
- 用Python计算最长公共子序列和最长公共子串
如何用Python计算最长公共子序列和最长公共子串 1. 什么是最长公共子序列?什么是最长公共子串? 1.1. 最长公共子序列(Longest-Common-Subsequences,LCS) 最长公 ...
- python实现编辑距离,最长公共子序列,最长公共子串
python实现编辑距离 python实现最大公共子序列 python实现最长公共子串
- 【236】Python求列表最长字符串及lambda和最长公共子串
♣ 题目部分(原文见公众号:python宝) python宝: https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzU5Nj ...
- LCS/最长公共子序列/最长公共子串 实现 Python/Java
参考 http://blog.csdn.net/u012102306/article/details/53184446 http://blog.csdn.net/hrn1216/article/det ...
- Python最长公共子串
Python最长公共子串 方法一 最简单最容易想到的方法,去数组第一个元素为最长公共前缀,如果是,就return,如果不是就减去最后一个单词.只到找到位置. class Solution:def lo ...
- [Python]获取2个字符串的最长公共子串
原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:https://blog.csdn.net/humanking7/article/details/84645055 文章目录 @[toc] ...
- python -- 最长公共子串
#! /usr/bin/env python3 # -*- coding: utf-8 -*-# 对于最长公共子串问题,答案为网格中最大的数字--它可能并不位于最后的单元格中def findlonge ...
最新文章
- vsftpd + mysql + virtual users
- delphi valuelisteditor控件的使用
- 网易云信携手SNH48 GROUP,打造在线追星新体验
- 如果公司的网络屏蔽了游戏【英雄联盟】的链接请求,使用这种方法玩游戏。
- [Angualr 2] Using FormBuilder
- 什么是正则表达式?有什么用?常用的字符有哪些?
- 常用的限流框架,你都会用吗?
- [Audio processing] Harmonic change detection function (HCDF)
- 【IT】学生数据库小结2
- 一篇搞定 Redis6(完整版)
- kafka常用的操作命令
- 【信号检测】基于隐马尔可夫模型HMM算法实现睡眠状态检测matlab代码
- 婴幼儿体重在线计算机,宝宝身高体重标准计算器
- J-LINK放了一晚,不能识别,灯一直闪
- 马哥教育N63期-第三周作业
- linux内核裁剪的具体过程和选择
- Android-系统服务-settings
- 刷脸支付条赛道上支付宝遥遥领先
- 43 备忘录模式(详解版)
- 2022年网搭国赛PXE服务
热门文章
- rose oracle双机切换故障,oracle 审计引起的问题 (双机软件roseha)
- js2D物理引擎插件
- 离合器膜片弹簧的优化设计matlab,基于matlab目标函数的建立优化离合器膜片弹簧的设计研究.doc...
- android imageview 半透明,如何将半透明视图叠加到ImageView上?
- CodeBlock调试(DeBug)指南
- 大气压力换算公式_大气压怎么算
- 燕山大学计算机辅助设计三级项目报告,《计算机辅助设计Auto CAD》燕山大学
- meshlab点云转mesh
- android ssh软件,优秀的 Android SSH 工具推荐
- 如何加载和保存AutoCAD DXF文件(四参数法)