题目一找出最长的公共子序列
package 第十二天动态规划;
import java.util.Arrays;
import java.util.Scanner;
public class 最长公共子序列 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String s1=new String();
String s2=new String();
s1=scanner.next();
s2=scanner.next();
char [] a1= s1.toCharArray();
char [] a2=s2.toCharArray();
int [][] max=new int[a1.length+1][a2.length+1];
for(int i=0;i<a1.length+1;i++){
max[i][0]=0;
}
for(int j=0;j<a2.length+1;j++){
max[0][j]=0;
}
for(int i=1;i<=a1.length;i++){
for(int j=1;j<=a2.length;j++){
if(a1[i-1]==a2[j-1]){
max[i][j]=max[i-1][j-1]+1;
}else {
max[i][j]=Math.max(max[i][j-1],max[i-1][j]);
}
}
}
System.out.println(max[a1.length][a2.length]);
}
}