classSolution{public:intminimumDeleteSum(strings1,strings2){constintm=s1.length();constintn=s2.length();// dp[i][j] := min cost to make s1[0..i) and s2[0..j) equalvector<vector<int>>dp(m+1,vector<int>(n+1));// Delete s1[i - 1]for(inti=1;i<=m;++i)dp[i][0]=dp[i-1][0]+s1[i-1];// Delete s2[j - 1]for(intj=1;j<=n;++j)dp[0][j]=dp[0][j-1]+s2[j-1];for(inti=1;i<=m;++i)for(intj=1;j<=n;++j)if(s1[i-1]==s2[j-1])dp[i][j]=dp[i-1][j-1];elsedp[i][j]=min(dp[i-1][j]+s1[i-1],dp[i][j-1]+s2[j-1]);returndp[m][n];}};
classSolution{publicintminimumDeleteSum(Strings1,Strings2){finalintm=s1.length();finalintn=s2.length();// dp[i][j] := min cost to make s1[0..i) and s2[0..j) equalint[][]dp=newint[m+1][n+1];// Delete s1.charAt(i - 1)for(inti=1;i<=m;++i)dp[i][0]=dp[i-1][0]+s1.charAt(i-1);// Delete s2.charAt(j - 1)for(intj=1;j<=n;++j)dp[0][j]=dp[0][j-1]+s2.charAt(j-1);for(inti=1;i<=m;++i)for(intj=1;j<=n;++j)if(s1.charAt(i-1)==s2.charAt(j-1))dp[i][j]=dp[i-1][j-1];elsedp[i][j]=Math.min(dp[i-1][j]+s1.charAt(i-1),dp[i][j-1]+s2.charAt(j-1));returndp[m][n];}}