动态规划中的经典问题——最长公共子序列(LCS)
了解了算法的思路进行的一次练习,看起来还有很多不足需要改进
public class Lcs {
public static void main(String[] args) {
// TODO Auto-generated method stub
char[] a = {
'B', 'D', 'C', 'A', 'B', 'A' };
char[] b = {
'A', 'B', 'C', 'B', 'D', 'A', 'B' };
int[][] sign = lcs_express(a, b);
lcs_onesequence(sign, a, a.length + 1, b.length + 1);
}
// 标记数组及求出LCS长度
public static int[][] lcs_express(char[] x, char[] y) {
int x_length = x.length;
int y_length = y.length;
// 初始化一个二维数组表示不断规划过程中表的长度
int[][] lcs_put = new int[x_length