博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【leetcode】Edit Distance
阅读量:5133 次
发布时间:2019-06-13

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

Edit Distance

Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)

You have the following 3 operations permitted on a word:

a) Insert a character

b) Delete a character
c) Replace a character

 

采用动态规划求解

1. d[0, j] = j;

2. d[i, 0] = i;

3. d[i, j] = d[i-1, j - 1] if A[i] == B[j]

4. d[i, j] = min(d[i-1, j - 1], d[i, j - 1], d[i-1, j]) + 1  if A[i] != B[j]

 
1 class Solution { 2 public: 3     int minDistance(string word1, string word2) { 4         5         int n1=word1.length(); 6         int n2=word2.length(); 7         8         if(n1==0) return n2; 9         if(n2==0) return n1;10  11         //采用二维数组效率更高 12         //vector
> dp(n1+1,vector
(n2+1));13 14 int **dp=new int*[n1+1];15 for(int i=0;i

 

转载于:https://www.cnblogs.com/reachteam/p/4199606.html

你可能感兴趣的文章
Maximum Gap
查看>>
sublime3
查看>>
[转]快速矩阵快速幂
查看>>
CMap的使用(转)
查看>>
Vue, element-ui Module build failed: Error: No PostCSS Config found
查看>>
36-高级特性之自定义类(1)
查看>>
VMware 克隆的相关设置
查看>>
【转】现代浏览器的工作原理
查看>>
Exception Type: IntegrityError 数据完整性错误
查看>>
《浪潮之巅》十八十九章笔记
查看>>
Power Strings
查看>>
[转载]Hash
查看>>
Nuget:Newtonsoft.Json
查看>>
你是这样理解shell编程的嘛?
查看>>
前端性能优化之重排和重绘
查看>>
Assets和Raw区别
查看>>
【luogu4185】 [USACO18JAN]MooTube [并查集]
查看>>
手机号脱敏处理
查看>>
CI控制器调用内部方法并载入相应模板的做法
查看>>
Hdu - 1002 - A + B Problem II
查看>>