输入格式
输入一行,用空格隔开的两个字符串
输出格式
输出这两个字符序列对应的最大长度公共字符序列的长度值
样例输入
aAbB aabb
样例输出
2
import java.util.Scanner;
public class test{
private static int m = 0;
private static int n = 0;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String x = sc.next();
String y =sc.next();
m = x.length();
n =y.length();
System.out.println(recursion(x.toCharArray(),0, y.toCharArray(),0));
}
private static int recursion(char[] x,int i, char[] y,int j) {
if (i == m || j == n ) { // 如果到达结尾,返回0
return 0;
}
else if (x[i] == y[j]) {
return (1 + recursion(x,i+1,y,j+1)); // 字符相同
} else
return Math.max(recursion(x,i+1,y,j), recursion(x,i,y,j+1)); // x 或者 y 后移, 取最大的后移
}
}