最小編輯距離

2021-10-09 16:54:39 字數 592 閱讀 3089

題目描述

給定兩個字串str1和str2,再給定三個整數ic,dc和rc,分別代表插入、刪除和替換乙個字元的代價,請輸出將str1編輯成str2的最小代價。

輸入:「abc」,「adc」,5,3,2 輸出:2

輸入:「abc」,「adc」,5,3,100 輸出:8

分析
使用動態規劃進行解題,dp[i][j]表示str1的i 位置轉換成 str2的j 位置需要最小代價

通過**
public

int mineditcost (string str1, string str2,

int ic,

int dc,

int rc)

//第一行肯定是新增,因為str2的字母數在逐漸增加

for(

int i=

1;i<=len2;i++

)for

(int i=

1;i<=len1;i++

)else}}

return data[len1]

[len2]

;}

最小編輯距離

dp i j 代表字串word1 0.i 1 與word2 0.j 1 的最小編輯距離。插入舉例 x ex vs y exp 前面的兩個ex都是相同,則編輯距離不變為0,x沒有第三個字元,這裡如果我們插入了乙個字元即可。dp i j dp i j 1 1 刪除舉例 x exp vs y ex 我故意...

最小編輯距離

當前狀態一定不能從後面的狀態推出 解dp題步驟 1.定義dp陣列 2.建立狀態轉移方程 3.確定初始狀態 4.驗證 迴圈順序 對於兩個字串a和b,我們需要進行插入 刪除和修改操作將a串變為b串,定義c0,c1,c2分別為三種操作的代價,請設計乙個高效演算法,求出將a串變為b串所需要的最少代價。給定兩...

NLP 最小編輯距離

最小編輯距離 編輯距離 edit distance 又稱 levenshtein距離,是指兩個字串之間,由乙個轉成另乙個所需的編輯操作次數。最小編輯距離,是指所需最小的編輯操作次數。動態規劃的核心思想是 將待求解的問題分解為若干個子問題 階段 按順序求解子階段,前一子問題的解,為後一子問題的求解提供...