求最大公共子序列长度(递归可解)
注意:
1、优化解,则可以采用动态规划。
该算法可行性低。
2、子序列和子串区分:
例:abcd。abd是他的子序列,但不是子串。子串是连续的,子序列可以不连续。
3、Math.max()函数,用于找出两个指定的数的较大的一个。
递归思想:
1、假若两个串的第一个字符相同,则长度+1,并找出除第一个字符外的子串。
2、如果不相同,有两种方法,可以将s1和s2除第一个字符外的子串比较,也可以将s1除第一个字符外的子串和s2比较。
3、使用Math.max(),比较两个长度的大小。
4、找到出口,即s1或s2的长度为0。
public class D {
public static int f(String s1