A先生找到了其失散多年的兄弟。为了确定血缘关系,A先生决定做DNA鉴定。请编写程序,比较两组基因,A先生基因片段为{A,C,T,C,C,T,A,G}, A先生兄弟基因片段为{C,A,T,T,C,A,G,C},找出两人基因片段中最长相同的部分(最长公共子序列)。采用动态规划策略解决该问题。
1)分析问题的最优子结构性质,写出最优值递归定义。
0, i= 0或j = 0
c[i][j] = { c[i-1][j-1]+1, i,j > 0和 =
max{c[i-1][j],c[i][j-1]}, i,j > 0和 ≠
2)将算法编程实现并给出基因比对结果。
package eight;
public class today {
static char[] x = {
'A','C','T','C','C','T','A','G'};
static char[] y = {
'C','A','T','T','C','A','G','C'};
static int m = x.length , n = y.length;
static int[][] b = new int[m+1][n+1];
public static void main