博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51NOD 1183编辑距离(动态规划)
阅读量:5250 次
发布时间:2019-06-14

本文共 1077 字,大约阅读时间需要 3 分钟。

思路:这个题放在基础题,分值还是零分,好歹也给人家动态规划一点面子啊!刚开始写的想法是找到其最大公共字串,然后用两个字符串中最长字符串的长度减掉最大公共字符串的长度,这个思路应该也是对的,几天前写的,好像没用动态规划写然后错了;然后百度了下是用动态规划,然后重新写了下。换了个思路,然后手写了下样例的dp数组,寻找状态之间的关系。

 

以下AC代码:

#include
#include
using namespace std;const int max = 1010;int dp[max][max];int main(){ string a, b; cin >> a >> b; for (int i = 0; i <= a.length(); i++){ for (int j = 0; j <= b.length(); j++){ if (i == 0){ dp[0][j] = j; } else{ if (j == 0){ dp[i][0] = i; continue; } if (a[i - 1] == b[j - 1]) dp[i][j] = dp[i - 1][j - 1]; else dp[i][j] = dp[i - 1][j - 1] + 1; if (dp[i][j] > dp[i][j - 1] + 1)dp[i][j] = dp[i][j - 1] + 1; if (dp[i][j] > dp[i - 1][j] + 1)dp[i][j] = dp[i - 1][j] + 1; } } } cout << dp[a.length()][b.length()] << endl; return 0;}

 

转载于:https://www.cnblogs.com/zengguoqiang/p/9352033.html

你可能感兴趣的文章
Master配置文件
查看>>
Search in Rotated Sorted Array II
查看>>
精确时间计算方法
查看>>
内存不能为Read
查看>>
conda使用以前安装的python环境
查看>>
xampp集成环境安装时出现 windows找不到文件“-n”
查看>>
c++运算符重载---20
查看>>
c++ 关键字extern(声明)和定义的区别
查看>>
Struts2(四)Struts2配置文件的配置
查看>>
java 异常处理try+catch
查看>>
老司机带你探知存储伸缩之道,赶紧上车,来不及了!
查看>>
ecshop安装常见问题及解决办法
查看>>
解决windows系统的oracle数据库不能启动ora-00119和ora-00130的问题
查看>>
ip相关问题解答
查看>>
第九周作业
查看>>
Postman—添加断言和检查点
查看>>
网络文件下载
查看>>
Mixing Milk
查看>>
iOS下移除按钮原生样式
查看>>
json字符串和字典的区别补充
查看>>