最小編輯代價(動態規劃)

2021-07-04 08:58:56 字數 507 閱讀 9111

在nowcoder上的題目,原題如下:

對於兩個字串a和b,我們需要進行插入、刪除和修改操作將a串變為b串,定義c0,c1,c2分別為三種操作的代價,請設計乙個高效演算法,求出將a串變為b串所需要的最少代價。

給定兩個字串a和b,及它們的長度和三種操作代價,請返回將a串變為b串所需要的最小代價。

保證兩串長度均小於等於300,且三種代價值均小於等於100。

測試樣例:

"abc",3,"adc",3,5,3,100
返回:8
剛開始wa,還覺得樣例有問題,明明可以刪掉'b'和'd',代價為6啊,後來才想到」將a串變為b串「,我們對b串是不能進行操作的

class mincost 

for(int j = 0; j < m; ++j)

for(int i = n-1; i > -1; --i)

else}}

}return f[0][0];

}};

最小編輯代價(動態規劃)

實現 對於不同的要求,主要是找到求dp i j 的規律。include include include include include include include using namespace std define max length 50 字串的最大長度 求出dp i j 代表從str1 ...

最小編輯代價 動態規劃

對於兩個字串a和b,我們需要進行插入 刪除和修改操作將a串變為b串,定義c0,c1,c2分別為三種操作的代價 給定三種操作代價,字串a和b,求出將a串變為b串所需要的最少代價。保證兩串長度均小於等於300,且三種代價值均小於等於100。測試樣例 5 3 100 abc adc 返回 8 public...

最小編輯代價 動態規劃

題目描述 給定兩個字串str1和str2,再給定三個整數ic,dc和rc,分別代表插入 刪除和替換乙個字元的代價,請輸出將str1編輯成str2的最小代價。示例1輸入 abc adc 5,3,2 返回值 2 示例2輸入 abc adc 5,3,100 返回值 8 備註 1 str1 str2 500...