給你兩個單詞word1和word2, 請你計算出將word1和word2所使用的最少運算元。
你可以對乙個單詞進行如下三種操作:
1、插入乙個字元
2、刪除乙個字元
3、替換乙個字元
示例1:
輸入: word1 = 「horse」, word2 = 「ros」
輸出:3
解釋:horse -> rorse(將 「h」 替換為"r")
rorse -> rose(刪除"r")
rose -> ros (刪除"e")
若當前字母相同,則:
dp[i]
[j]= dp[i -1]
[j -1]
;
否則取增刪替三個操作的最小值 + 1,即:
dp[i]
[j]=
1+ math.
min(math.
min(dp[i -1]
[j], dp[i]
[j -1]
), dp[i -1]
[j -1]
);
public
intmindistance
(string word1, string word2)
for(
int j =
0; j <= len2; j++
)for
(int i =
1; i <= len1; i++
)else}}
return dp[len1]
[len2]
;}
Levenshtein 計算編輯距離
levenshtein 距離,又稱編輯距離,指的是兩個字串之間,由乙個轉換成另乙個所需的最少編輯操作次數。編輯操作包括將乙個字元替換成另乙個字元,插入乙個字元,刪除乙個字元。即 插入 刪除 替換 1 首先安裝python levenshtein庫,安裝完使用import levenshtein匯入該...
Python如何計算編輯距離?
演算法原理 在計算文字的相似性時,經常會用到編輯距離。編輯距離,又稱levenshtein距離,是指兩個字串之間,由乙個轉成另乙個所需的最少編輯操作次數。通常來說,編輯距離越小,兩個文字的相似性越大。這裡的編輯操作主要包括三種 下面通過示例來看一下。1 batyu變為beatyu 插入字元e 2 b...
Python如何計算編輯距離?
演算法原理 在計算文字的相似性時,經常會用到編輯距離。編輯距離,又稱levenshtein距離,是指兩個字串之間,由乙個轉成另乙個所需的最少編輯操作次數。通常來說,編輯距離越小,兩個文字的相似性越大。這裡的編輯操作主要包括三種 下面通過示例來看一下。1 batyu變為beatyu 插入字元e 2 b...