import java.util.*;
public class Temp{
public static void main(String args[]){
StringBuilder sb=new StringBuilder();
String str1="AGGTAB";
String str2="GXTXAYB";
int c[][]=new int[str1.length()+1][str2.length()+1];
for(int i=0;i<=str2.length();i++){
c[0][i]=0;
}
for(int j=0;j<=str1.length();j++){
c[j][0]=0;
}
for(int i=1;i<=str1.length();i++){
for(int j=1;j<=str2.length();j++){
if(str1.charAt(i-1)==str2.charAt(j-1)){
c[i][j]=1+c[i-1][j-1];
}
else{
c[i][j]=(c[i][j-1]>=c[i-1][j])?c[i][j-1]:c[i-1][j];
}
}
}
System.out.println(c[str1.length()][str2.length()]+"\n");
for(int i=0;i<=str1.length();i++){
for(int j=0;j<=str2.length();j++){
System.out.print(c[i][j]);
}
System.out.println();
}
// print LCS.....
int i=str1.length();
int j=str2.length();
while(i>0 && j>0){
if(str1.charAt(i-1)==str2.charAt(j-1)){
sb.append(str1.charAt(i-1)+"");
i--;
j--;
}
else{
if(c[i][j-1]>=c[i-1][j]){
j--;
}
else{
i--;
}
}
System.out.println(i + " "+ j +"\n" );
}
System.out.println(sb.reverse());
}
}
public class Temp{
public static void main(String args[]){
StringBuilder sb=new StringBuilder();
String str1="AGGTAB";
String str2="GXTXAYB";
int c[][]=new int[str1.length()+1][str2.length()+1];
for(int i=0;i<=str2.length();i++){
c[0][i]=0;
}
for(int j=0;j<=str1.length();j++){
c[j][0]=0;
}
for(int i=1;i<=str1.length();i++){
for(int j=1;j<=str2.length();j++){
if(str1.charAt(i-1)==str2.charAt(j-1)){
c[i][j]=1+c[i-1][j-1];
}
else{
c[i][j]=(c[i][j-1]>=c[i-1][j])?c[i][j-1]:c[i-1][j];
}
}
}
System.out.println(c[str1.length()][str2.length()]+"\n");
for(int i=0;i<=str1.length();i++){
for(int j=0;j<=str2.length();j++){
System.out.print(c[i][j]);
}
System.out.println();
}
// print LCS.....
int i=str1.length();
int j=str2.length();
while(i>0 && j>0){
if(str1.charAt(i-1)==str2.charAt(j-1)){
sb.append(str1.charAt(i-1)+"");
i--;
j--;
}
else{
if(c[i][j-1]>=c[i-1][j]){
j--;
}
else{
i--;
}
}
System.out.println(i + " "+ j +"\n" );
}
System.out.println(sb.reverse());
}
}
No comments:
Post a Comment