演算法 最小增刪改操作使得兩個字串相同

2022-07-03 11:39:10 字數 446 閱讀 3147

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

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

插入乙個字元

刪除乙個字元

替換乙個字元

leetcode

解題思路:動態規劃。

首先建立狀態表示陣列,通過乙個二維陣列,表示兩個字串,在各自不同的長度下,產生匹配所需的最少運算元。

先初始化,就是當乙個字串為空,那麼最小運算元就是另乙個字串的長度值,因為全部都是增加操作即可。

然後是狀態轉移,兩個字串所有的字元匹配組合情況。

class

solution

else}}

return f[n]

[m];

}}

連線兩個字串

include include void main char lianjie char a 30 char b 30 原型 extern char strcat char dest,char src 用法 include 功能 把src所指字串新增到dest結尾處 覆蓋dest結尾處的 0 並新增 ...

交換兩個字串

交換兩個字串,原來的字串分別為 學生 和 好 字串輸出顯示為 學生好 交換後輸出顯示為 好學生 include using namespace std int main char c1 5 學生 char c2 3 好 char m,n,t m c1 n c2 cout 交換前 m n n t co...

兩個字串相乘

先附上一張演算法圖 解釋 123 456 首先拿出1和456相乘,儲存到陣列1 2 3 的位置,然後拿出2和456相乘2 3 4的位置,依次類推,直到第乙個字串遍歷完 然後將他們相加,依次存到陣列中 實現如下 int j 0 int resindex 0 for int i 0 i然後再考慮進製,需...