計算編輯距離方法

2021-10-04 19:51:30 字數 838 閱讀 3026

給你兩個單詞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...