1.试用动态规划算法实现下列问题:设A和B是两个字符串。我们要用最少的字符操作,将字符串A转换为字符串B,这里所说的字符操作包括:

(1)删除一个字符。

(2)插入一个字符。

(3)将一个字符改为另一个字符。

请写出该算法:

 #include <string.h>
#include <iostream>
using namespace std;
/*将字符串A转换为字符串B最少的操作次数*/
int minEditDistance(string A,string B)
{
int A_len=A.length();
int B_len=B.length();
int D[B_len+][A_len+];
D[][]=;
for(int i=;i<=A_len;i++)
{
D[][i]=i;
}
for(int i=;i<=B_len;i++)
{
D[i][]=i;
}
for(int i=;i<=B_len;i++)
{
for(int j=;j<=A_len;j++)
D[i][j]=min(min(D[i-][j]+,D[i][j-]+),(A[j-]==B[i-]?D[i-][j-]:D[i-][j-]+));
}
return D[B_len][A_len];
}
/*主函数*/
int main()
{
string A,B;
cin>>A>>B;
cout<<minEditDistance(A,B);
}

最新文章

  1. ps你最容易忽略的知识
  2. Java--Exchanger用于进行线程间的数据交换
  3. mac下卸载MySQL
  4. DECO 一个REACT NAtive 开发IDE工具
  5. 使用Java字节流拷贝文件
  6. JavaScript基础---AJAX
  7. 跨平台的加密算法XXTEA 的封装
  8. CentOS启动和停止服务详解
  9. 1000万条数据导入mysql
  10. 【原】现有市场上H264 IPCamerad的功能
  11. switch语法中break,default作用说明
  12. mysql 海量数据的存储和访问解决方案
  13. 布局重用 include merge ViewStub
  14. android与javascript相互调用
  15. 网站流量统计系统 phpMyVisites
  16. 基于TFTP协议的远程升级设计
  17. 自动化测试的Selenium的python版安装与使用
  18. C# Linq处理list数据
  19. 10、DOM(文档对象模型)
  20. (转)SVN搭建(附下载地址)

热门文章

  1. 20-1 django上传文件和项目里上传头像如何查看
  2. Struts2整合Spring方法及原理
  3. 6 获取请求头和URL信息
  4. Project Euler Problem 16-Power digit sum
  5. 2018-11-19-Roslyn-NameSyntax-的-ToString-和-ToFullString-的区别
  6. 【转载】Windows平台下利用APM来做负载均衡方案 - 负载均衡(下)
  7. Python--day29--configparser模块(配置)(不熟,以后要找时间重学)
  8. git clone出现Permission denied (publickey)解决办法
  9. java TreeSet的排序之定制排序
  10. 2019-11-20-Github-给仓库上传-NuGet-库