最长公共子序列和最长公共子串

简介: 什么是最长公共子序列呢?举个简单的例子吧,一个数列S,若分别是两个或多个已知序列的子序列,且是所有符合条件序列中最长的,则S称为已知序列的最长公共子序列。举例如下,如:有两个随机数列,1 2 3 4 5 6 和 3 4 5 8 9,则它们的最长公共子序列便是:3 4 5。

什么是最长公共子序列呢?举个简单的例子吧,一个数列S,若分别是两个或多个已知序列的子序列,且是所有符合条件序列中最长的,则S称为已知序列的最长公共子序列。

举例如下,如:有两个随机数列,1 2 3 4 5 6 和 3 4 5 8 9,则它们的最长公共子序列便是:3 4 5。

之前一直不明白:最长公共子串和最长公共子序列的区别。

最长公共子串(Longest Common Substirng)和最长公共子序列(Longest Common Subsequence,LCS)的区别为:子串是串的一个连续的部分,子序列则是从不改变序列的顺序,而从序列中去掉任意的元素而获得新的序列;也就是说,子串中字符的位置必须是连续的,子序列则可以不必连续。
比如:s1: xyyxz
s2: xyyz
s1,s2的最大公共子序列为xyyz,最长公共子串为xyy;

目录
相关文章
|
8月前
|
存储
最长公共子序列(LCS)
最长公共子序列(LCS) “【5月更文挑战第21天】”
87 2
|
3月前
|
机器学习/深度学习 人工智能 算法
【算法】最长公共子序列(C/C++)
【算法】最长公共子序列(C/C++)
|
8月前
leetcode-1143:最长公共子序列
leetcode-1143:最长公共子序列
66 0
1265:【例9.9】最长公共子序列 2021-01-15
1265:【例9.9】最长公共子序列 2021-01-15
leetcode 1143 最长的公共子序列
leetcode 1143 最长的公共子序列
98 0
leetcode 1143 最长的公共子序列
最长公共子序列(二 | 记录路径版)
最长公共子序列(二 | 记录路径版)
最长公共子序列(二 | 记录路径版)
|
测试技术
最长公共子序列(LeetCode-1143)
最长公共子序列(LeetCode-1143)
119 0
最长公共子序列(LeetCode-1143)
最长公共子序列(一 | 计算长度版)
最长公共子序列(一 | 计算长度版)
|
算法 BI
最长公共子序列(三 | 存在多个解的情况)
最长公共子序列(三 | 存在多个解的情况)