算法图解(最长公共子串)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43153854/article/details/101283077

最长公共子串
在这里插入图片描述
算法为

  1. 如果俩个字母不相同,则值为0
  2. 如果俩个字母相同,值为左上角数字加1

伪代码:

if word_a[i] == word_b[j]:
cell[i][j] = cell[i-1][j-1] + 1
else:
cell[i][j] = 0

最长公共子序列

在这里插入图片描述

算法为:

  1. 如果俩个字母不相同,就选择左方或者上方较大的填入
  2. 如果俩个字母相同,选择左上方的数字加1填入

伪代码:

if word_a[i] == word_b[j]:
cell[i][j] = cell[i-1][j-1] + 1
else:
cell[i][j] = max(cell[i-1][j], cell[i][j-1])

猜你喜欢

转载自blog.csdn.net/weixin_43153854/article/details/101283077
今日推荐