程式設計之美leetcode之編輯距離
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
dp[i][j] = min(dp[i-1][j-1],min(dp[i-1][j],dp[i][j-1]))+1
class Solution {
public:
int minDistance(string word1, string word2) {
int length1 = word1.size(),length2 = word2.size(),i,j;
vector<vector<int> > dp(length1+1);
for(i = 0;i <= length1;++i)
{
vector<int> tmp(length2+1,0);
dp[i] = tmp;
}
for(i = 1; i <= length1;++i)dp[i][0] = i;
for(j = 1; j <= length2;++j)dp[0][j] = j;
for(i = 1; i <= length1;++i)
{
for(j = 1;j <= length2;++j)
{
if(word1[i-1] == word2[j-1])dp[i][j] = dp[i-1][j-1];
else dp[i][j] = min(dp[i-1][j-1],min(dp[i-1][j],dp[i][j-1]))+1;
}
}
return dp[length1][length2];
}
};
相關文章
- LeetCode72編輯距離LeetCode
- 編輯距離及編輯距離演算法演算法
- 計算字串編輯距離字串
- Java LeetCode 72. 編輯距離JavaLeetCode
- 【DP】編輯距離
- 【leetcode】72. Edit Distance 編輯距離計算LeetCode
- Leetcode 編輯距離(動態規劃)LeetCode動態規劃
- Levenshtein:計算字串的編輯距離字串
- 面試程式碼題(華為)編輯距離面試
- 編輯距離演算法演算法
- 線性dp:編輯距離
- 動態規劃-編輯距離動態規劃
- 最短編輯距離演算法演算法
- 902.最短編輯距離
- 微信小程式——計算2點之間的距離微信小程式
- 程式設計之美之買票找零程式設計
- 字串編輯距離問題詳解字串
- 程式設計之美複習筆記程式設計筆記
- 程式設計之美之高效安排見面會程式設計
- 程式設計之美之最短摘要生成程式設計
- Go併發程式設計之美-CAS操作Go程式設計
- Go併發程式設計之美-互斥鎖Go程式設計
- 編輯手記之《一個程式設計師的奮鬥史》程式設計師
- 計算地圖中兩點之間的距離地圖
- 程式碼之美---遞迴之美遞迴
- 程式設計之美初賽第一場--焦距程式設計
- 程式設計之美初賽第一場--樹程式設計
- 演算法字串位包含程式設計之美演算法字串程式設計
- 場景設計中距離感的設計
- [程式設計之美][2.2] 不要被階乘嚇倒程式設計
- 程式設計之美之電話號碼對應英語單詞程式設計
- 品味Spring Cache設計之美Spring
- 重新領略設計模式之美設計模式
- 通過sql 計算兩經緯度之間的距離SQL
- sql 計算兩個經緯度點之間的距離SQL
- 海量資料相似度計算之simhash和海明距離
- 重構之美-跨越Web標準,觸碰語義網[分離:程式設計師請“遠離”Web標準]Web程式設計師
- 經緯度計算兩地之間的距離(原理與方法)