- 问题
LCS算法,特别要求举例时采用不同于讲义的数据进行推导。 - 解析
Xi=<x1,x2,…,xi>
Yj=<y1,y2,…,yj>
Zk=<z1,z2,…,zk>
如果Zk是Xi和Yj的最长公共子序列,
(1)xi = yj,那么zk = xi = yj,Zk-1是Xi-1和Yj-1的最长公共子序列
(2)xi ≠ yj,那么zk ≠ xi,Zk-1是Xi-1和Yj的最长公共子序列
(3)xi ≠ yj,那么zk ≠ yi,Zk-1是Xi和Yj-1的最长公共子序列 - 设计
实例:
序列1:CDEFGBAH
序列2:HEABCCA
序列1和序列2的最长子序列是EBA,长度为3。
4. 分析
5. 源码
https://github.com/Mystlic/-/blob/master/LCS