LeetCode1143:最长公共子序列(动态规划)
1、给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。
2、
/**
* 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。
* 动态规划:确定状态、状态转移方程,初始化状态,考虑输出
* @param text1
* @param text2
* @return
*/
public int longestCommonSubsequence(String text1, String text2) {
if(text1.length() == 0 || text2.length() ==0){
return 0;
}
int len1 = text1.length();
int len2 = text2.length();
//dp[i,j]表示text1[0...i]与text2[0...j]的最长公共子序列的长度
//因为状态转移方程:dp[i -1][j],dp[i][j -1],为避免下标越界,二维数组定义为长度+1
int[][] dp = new int[len1