动态规划--最长公共子串
创始人
2024-05-27 18:35:54
0

最长公共子串

  • 公共子串问题
  • 费曼算法
  • 动态规划算法思路
    • 代码实现

公共子串问题

在计算机科学中,最长公共子串问题是寻找两个或多个已知字符串最长的子串。此问题与最长公共子序列问题的区别在于子序列不必是连续的,而子串却必须是。链接: 百度百科

费曼算法

The Feynman Algorithm:

  1. Write down the problem.
  2. Think real hard.
  3. Write down the solution.

动态规划算法思路

  1. 给定两个字符串T1和T2, 假设dp(i, j)表示T1,T2在位置i, j的公共子串的长度【向位置0的方向,连续相同的字符的数量】
    比如“abcdefg”, “absecde”
    dp(0,0) = 1 ‘a’ == ‘a’
    dp(1,1) = 2 ‘ab’ == ‘ab’
    dp(1,2) = 0 ‘b’ != ‘s’

  2. 总结规律:
    if T1[i] == T2[j] :
    dp(i,j) = dp(i-1,j-1) + 1
    else:
    dp(i,j) = 0

代码实现


def getLcs(t1:str, t2:str)->str:'''get the longest common substring of two given string'''if not t1:return t1if not t2:return t2# dp = [[0 for i in range(len(t2)+1)] for j in range(len(t1)+1)]max_len = 0dp = [[0 for i in range(len(t2)+1)] for j in range(2)]for i in range(1, len(t1)+1):ind = [0,1][i%2==0]for j in range(1, len(t2)+1):if t1[i-1]==t2[j-1]:dp[ind][j] = dp[1-ind][j-1] + 1else:dp[ind][j] = 0if dp[ind][j] >max_len:max_len = dp[ind][j]p = iprint("max_len:%d , pos: %d"%(max_len,p))return t1[p-max_len:p]

相关内容

热门资讯

一路书香作文800字【最新5... 一路书香作文800字 篇一一路书香我是一个热爱阅读的人,每次出行都会带上一本书。这次,我选择了一本名...
东风为我来高中作文(精简3篇... 东风为我来高中作文 篇一窗外的东风轻轻吹过,伴随着阳光的温暖,我踏上了高中的征程。高中生活对我来说是...
花儿高中作文【最新6篇】 花儿高中作文 篇一:我的初恋初恋是每个人都会经历的一段特殊时光,而我的初恋也是我高中时期最美好的回忆...
完杀(优选3篇) 完杀 篇一近年来,电影市场上涌现出了一部部精彩的动作片,其中《完杀》无疑是备受瞩目的佳作。这部电影以...
以桥为题的高一作文【优选6篇... 以桥为题的高一作文 篇一桥,是连接两岸的纽带,是沟通交流的通道。它不仅仅是一座建筑物,更是一种象征,...
爱在平安夜的高二作文(优选6... 爱在平安夜的高二作文 篇一平安夜,这是一个充满温暖和祝福的夜晚。在这个特别的夜晚里,人们用不同的方式...
空手道馆游高一作文【通用3篇... 空手道馆游高一作文 篇一空手道馆是一个我一直向往前往的地方。终于,在高一的时候,我有机会参观了一家空...
我在等待的作文(优质3篇) 我在等待的作文 篇一等待,是一种不可避免的存在。无论是等待父母的归来,还是等待考试的成绩,亦或是等待...
缺陷美作文 缺陷美作文  在日常的学习、工作、生活中,大家或多或少都会接触过作文吧,作文是人们把记忆中所存储的有...
以英雄为题的高中作文(实用6... 以英雄为题的高中作文 篇一英雄的品质英雄是我们心中最崇高的存在,他们以无私的奉献和勇敢的行动,为社会...
温故与知新高一优秀作文800... 温故与知新高一优秀作文800字 篇一温故与知新温故而知新,可以为师矣。这句话出自《论语·为政》一章,...
互相尊重作文【优秀3篇】 互相尊重作文 篇一互相尊重是一种非常重要的品质,它可以帮助我们建立良好的人际关系,促进社会和谐的发展...
青春期(最新6篇) 青春期 篇一青春期是人生中一个重要的阶段,它标志着从儿童向成年的过渡。在这个时期,我们身心发生了许多...
高中优秀作文(优选6篇) 高中优秀作文 篇一:人生的选择与坚持人生就像一场马拉松比赛,我们每个人都在这条赛道上奋力前行。而在这...
高一作文开学第一课【通用6篇... 高一作文开学第一课 篇一开学第一课,让我明白了“自律”的重要性新学期开始了,我迫不及待地踏入高一的大...
细节决定成败的议论文【精选6... 细节决定成败的议论文 篇一细节决定成败,这是一个被广泛认同的观点。在人们追求成功的道路上,细节往往是...
竹君作文800字左右高二(精... 竹君作文800字左右高二 篇一:探索未知的世界在我们的生活中,有许多未知的领域等待我们去探索。这些未...
山东高考满分作文:丝瓜藤与肉... 山东高考满分作文:丝瓜藤与肉豆须 篇一丝瓜藤与肉豆须丝瓜藤和肉豆须都是我家院子里常见的植物。它们虽然...
冲刺高考的高三励志作文800... 篇一:冲刺高考的高三励志作文800字高三是每个学生都经历的一个重要阶段,也是冲刺高考的关键时期。在这...
上善若水高一作文【精选3篇】 上善若水高一作文 篇一标题:善良的力量善良是一种美德,它如同水一样,温润而宽容,给予人们希望和力量。...