public class Solution {
/**
* @param A, B: Two strings.
* @return: The length of longest common subsequence of A and B.
*/
public int longestCommonSubsequence(String A, String B) {
int m=A.length();
int n=B.length();
if(m==0||n==0){
return 0;
}
int [][]arr=new int[m+2][n+2];
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
if(A.charAt(i-1) == B.charAt(j-1)){
arr[i][j]=arr[i-1][j-1]+1;
}else{
arr[i][j]=Math.max(arr[i-1][j],arr[i][j-1]);
}
}
}
return arr[m][n];
}
}
细节处理: if(A.charAt(i-1) == B.charAt(j-1)){
arr[i][j]=arr[i-1][j-1]+1;
}else{
arr[i][j]=Math.max(arr[i-1][j],arr[i][j-1]);
}
lintcode77最长公共子序列(动态规划medium)
最新推荐文章于 2019-09-10 13:42:58 发布