举例

求序列A=xyzyxzxz 与序列B=xzyxxyzx的最长子序列
1.填表
如何填表

y z

z与z相同,根据xy的值+1(斜上方的数)
x 1 1
z 1 2
z y

x与y不相同,取上边、左边的最大的数据
x 2 3
x 2 3

最终结果:

x y z y x z x z
0 0 0 0 0 0 0 0 0
x 0 1 1 1 1 1 1 1 1
z 0 1 1 2 2 2 2 2 2
y 0 1 2 2 3 3 3 3 3
x 0 1 2 2 3 4 4 4 4
x 0 1 2 2 3 4 4 5 5
y 0 1 2 2 3 4 4 5 5
z 0 1 2 3 3 4 5 5 6
x 0 1 2 3 3 4 5 6 6

2.从最后一个开始,追溯来源:
如果两个元素是相同的,来源就是斜上方的数+1,所以来源就是斜上方。
如果两个元素不同,那么来源就是上方、左方的最大值。

x y z y x z x z
0 0 0 0 0 0 0 0 0
x 0 1 1 1 1 1 1 1 1
z 0 1 1 2 2 2 2 2 2
y 0 1 2 2 3 3 3 3 3
x 0 1 2 2 3 4 4 4 4
x 0 1 2 2 3 4 4 5 5
y 0 1 2 2 3 4 4 5 5
z 0 1 2 3 3 4 5 5 6
x 0 1 2 3 3 4 5 6 6

在来源路径上(绿色)两个相同元素为子序列,得出最长子序列:xzyxxz