import java.util.*; public class Zuichanggonggongzixulie { public static void main(String args[]){ Scanner in=new Scanner(System.in); while(in.hasNext()){ String str1=in.nextLine(); String str2=in.nextLine(); int dp[][]=new int[str1.length()+1][str2.length()+1];//构建状态矩阵 for(int i=0;i<str1.length()+1;i++){ //初始化边界数值 dp[i][0]=0; } for(int j=0;j<str2.length()+1;j++){ //初始化边界数值 dp[0][j]=0; } //动态更新状态数值 for(int i=1;i<str1.length()+1;i++){ for(int j=1;j<str2.length()+1;j++){ //比较字符串1中第i 个和字符串2中第j个是否相等,进而做相应的更新 if(str1.charAt(i-1)==str2.charAt(j-1)){ dp[i][j]=Math.max(dp[i-1][j-1]+1,Math.max(dp[i-1][j],dp[i][j-1])); } else{ dp[i][j]=Math.max(dp[i-1][j],dp[i][j-1]); } } } System.out.println(dp[str1.length()][str2.length()]); } } }
最长公共子序列
最新推荐文章于 2024-06-09 14:21:24 发布