动态规划--最优编辑
来源:互联网 发布:海洋 知乎 编辑:程序博客网 时间:2024/05/17 01:19
int findMinCost(string A, int n, string B, int m, int c0, int c1, int c2) { int **dp = new int *[n + 1]; for (int i = 0; i < n + 1; i++) { dp[i] = new int[m + 1]; } //初始化矩阵 dp[0][0] = 0; for (int i = 1; i < m + 1; i++) { dp[0][i] =c0*i ;//没有装入物体时,就没有价值了 } for (int j = 1; j< n + 1; j++) { dp[j][0] = c1*j;//不能承载重量时,则不能装物体 } for (int i = 1; i < n + 1; i++) { for (int j = 1; j < m + 1; j++) { if (A[i - 1] == B[j - 1]) dp[i][j] = dp[i - 1][j - 1]; else { dp[i][j] = min(dp[i][j - 1] + c0, c1 + dp[i - 1][j]); dp[i][j] = min(dp[i][j], dp[i - 1][j - 1] + c2); } } } return dp[n][m]; }
对于两个字符串A和B,我们需要进行插入、删除和修改操作将A串变为B串,定义c0,c1,c2分别为三种操作的代价,请设计一个高效算法,求出将A串变为B串所需要的最少代价。
给定两个字符串A和B,及它们的长度和三种操作代价,请返回将A串变为B串所需要的最小代价。保证两串长度均小于等于300,且三种代价值均小于等于100。
阅读全文
0 0
- 动态规划--最优编辑
- 动态规划-最优编辑
- 动态规划7:最优编辑练习题
- 动态规划8:最优编辑str1-->str2
- 【动态规划】最优时间表
- 动态规划-最优解
- 动态规划(2)最优对准与最短编辑距离
- 动态规划 编辑距离
- 编辑距离 动态规划
- 编辑距离--动态规划
- 动态规划 - 编辑距离
- 动态规划---编辑距离
- 算法之动态规划最优二叉树
- 动态规划--最优二叉查找树
- 动态规划求解资源最优分配问题
- 动态规划之最优矩阵连乘
- 最优二叉查找树(动态规划)
- 动态规划之-最优二叉查找树
- Android系统APP之SettingsProvider
- rsync 3.1.1版本非root运行服务时配置文件的一点改动
- Androd学习笔记
- 发送有序广播
- Android Am命令用法
- 动态规划--最优编辑
- 智能
- Jellyball下拉背景增加松开回弹
- MVC、MVP、MVVM三种开发模式
- 手写EventBus框架
- 程序侯之路的开始
- GreenDao3的基本使用
- 【Kafka】深入了解kafka
- centos7下rsync安装