题目
动态规范解法思路如下
- 创建一个二维数组v,数组的大小为(字符串s1的长度+1*字符串s2的长度+1)
- 第一层循环,遍历字符串s1,第二层循环,遍历字符串s2
- 如果s1.chatAt(i) == s2.charAt(j): 加入表格的公式为 v[i][j] =v[i-1][j-1]+1;
- 如果不相等: 加入表格的公式为 v[i][j] = Math.max(v[i-1][j],v[i][j-1]);
代码如下
package day04;
import java.util.Arrays;
public class 最长公共子序列问题 {
public static void main(String[] args) {
String s1 = "abcd";
String s2 = "becd";
int maxLength = getMaxLength(s1,s2);
System.out