兩個單詞之間的編輯距離

2021-09-28 14:41:46 字數 1442 閱讀 8437

參考部落格:

給定兩個單詞 word1 和 word2,計算出將 word1 轉換成 word2 所使用的最少運算元 。

你可以對乙個單詞進行如下三種操作:

插入乙個字元

刪除乙個字元

替換乙個字元

示例 1:

輸入: word1 = 「horse」, word2 = 「ros」

輸出: 3

解釋:horse -> rorse (將 『h』 替換為 『r』)

rorse -> rose (刪除 『r』)

rose -> ros (刪除 『e』)

對於給定的兩個單詞,如何使得word1經過最少的步驟轉換成為word2呢,自己學習了網上的一些解法,對於遞迴和動態規劃,兩種方法的實現方式不同,但是基本思想是相同的,基本思想如下:

對於兩個單詞,如果要將乙個單詞變換成為另乙個單詞,那麼我們需要考慮對於單詞的每乙個字母,使其與另乙個單詞的每乙個字母相同,即進行相應的編輯使得這兩個字母相同,然後依次對需要編輯的其他字母進行編輯

在編碼求解的過程中

class 編輯距離 

return

recursion

(word1, word2, word1.

length()

, word2.

length()

, dis);}

private

static

intrecursion

(string word1, string word2,

int length1,

int length2,

int[

] dis)

if(length1 ==0)

else

if(length2 ==0)

else

if(word1.

charat

(length1 -1)

== word2.

charat

(length2 -1)

)else

}// 動態規劃解法

public

static

intmindistanceway2

(string word1, string word2)

for(

int j =

1; j <= lenword2; j++

)for

(int i =

1; i <= lenword1; i++

)else}}

return mindis[word1.

length()

][word2.

length()

];}public

static

void

main

(string[

] args)

}```

sklearn計算兩個向量之間的距離

from sklearn.feature extraction.text import countvectorizer from sklearn.metrics.pairwise import euclidean distances from sklearn.feature extraction.t...

Mysql sql 計算兩個座標之間的距離

mysql sql 計算兩個座標之間的距離 赤道半徑 6378.137km 查詢結果為km select id,6378.137 2 asin sqrt pow sin radians 當前緯度latitude radians 資料庫中儲存的目標緯度latitude 2 2 cos radians ...

求兩個矩形之間的最小距離

正在參與的工程裡有乙個小功能是求兩個矩形之間的最小距離。大致翻了一下opencv,貌似沒看到現成的函式,那就自己寫乙個好了。1 不相交,但在x或y軸方向上有部分重合座標,比如矩形1和2,此時,最小距離為兩個矩形之間的最小平行距離或垂直距離,如圖中紅色箭線d12所示。2 不相交,在x和y軸方向上均無重...