public class test {
public static int longString(String text1, String text2) {
if(text1.length()==0||text2.length()==0){
return 0;
}
int m = text1.length();
int n = text2.length();
int[][] num = new int[m+1][n+1];
for (int i = 1 ; i<=m ; i++){
for(int j =1 ; j<=n ; j++){
if(text1.charAt(i-1)==text2.charAt(j-1)){
num[i][j]=num[i-1][j-1]+1;
}else{
num[i][j]=Math.max(num[i-1][j],num[i][j-1]);
}
}
}
return num[m][n];
}
public static void main(String[] args){
int result = longString("asdfqwe","dfqw");
System.out.println("最大公共字符串子序列: "+result);
}
}