參考部落格:
給定兩個單詞 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軸方向上均無重...