问题:已知整数序列X,Y,长度分别为m,n,求出它们的最长公共子序列。子序列的定义如下:给定一个序列X={x1, x2, …, xm},另一个序列Z={z1, z2, …, zk}是X的一个子序列,如果存在X的一个严格递增下标序列{i1, i2, …., ik},使得对于所有的j=1,2, …, k,有xij = zj。
分析:令a[i][j]代表序列X[1->i]和Y[1->j]的最长公共子序列。则可获得递推式
代码
问题:已知整数序列X,Y,长度分别为m,n,求出它们的最长公共子序列。子序列的定义如下:给定一个序列X={x1, x2, …, xm},另一个序列Z={z1, z2, …, zk}是X的一个子序列,如果存在X的一个严格递增下标序列{i1, i2, …., ik},使得对于所有的j=1,2, …, k,有xij = zj。
分析:令a[i][j]代表序列X[1->i]和Y[1->j]的最长公共子序列。则可获得递推式
代码