本文主要是介绍字符串str1到str2的代价,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
class MinCost {
public:int findMinCost(string A, int n, string B, int m, int c0, int c1, int c2) {// write code here//dp[i][j] 表示A[0..i-1] 转换到 B[0..j-1] 的最小变换// c2替换代价 c0 add // c1 deletevector<vector<int> > dp(n+1,vector<int>(m+1));dp[0][0]=0;for(int i=1;i<m+1;++i){dp[0][i]=i*c0;}for(int i=1;i<n+1;++i){dp[i][0]=i*c1;}for(int i=1;i<n+1;++i){for(int j=1;j<m+1;++j){if(A[i-1]==B[j-1]){int temp=min(dp[i-1][j]+c1,dp[i][j-1]+c0);dp[i][j]=min(temp,dp[i-1][j-1]);}else{int temp=min(dp[i-1][j]+c1,dp[i][j-1]+c0);dp[i][j]=min(temp,dp[i-1][j-1]+c2);}}}return dp[n][m];}
};
这篇关于字符串str1到str2的代价的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!