Lintcode 008 編輯距離)

2021-09-08 19:11:58 字數 626 閱讀 7922

2016-08-29

給出兩個單詞word1和word2,計算出將word1 轉換為word2的最少操作次數。

你總共三種操作方法:

樣例 給出 work1="mart" 和 work2="karma"

返回 3

標籤: 動態規劃

解題:

此題為典型的動態規劃問題,可以按照一般解題思路解決。

首先定義這樣乙個函式——edit(i, j),它表示第乙個字串的長度為i的子串到第二個字串的長度為j的子串的編輯距離。

顯然可以有如下動態規劃公式:

實現**如下:

class

solution

for(int j=0;j)

for( int i=0;i)

else}}

return

dp[w1][w2];

}};

總結:遇到這類題目,可以用套路來解題。不同的是,需要根據不同的要求寫出某個子問題的解的表示式。有些可能不能直接一眼看出他們的關係,所以

需要自己通過具體舉例,模擬執行過程,最終歸納出結果。(多思考)

Lintcode 008 旋轉字串

lintcode 008 旋轉字串 題幹描述 給定乙個字串和乙個偏移量,根據偏移量旋轉字串 從左向右旋轉 樣例 對於字串 abcdefg offset 0 abcdefg offset 1 gabcdef offset 2 fgabcde offset 3 efgabcd 分析 我們思考可以發現給的...

LintCode 編輯距離

你總共三種操作方法 返回 3 思路 使用dp,先定義狀態 f i j 單詞1 的前i個 跟 單詞2 的前j個 的最短編輯距離。如果 a i b j 那麼f i,j f i 1,j 1 然後,再看有三種狀態 1.增加乙個 等價於 f i,j 1 2.刪除乙個 等價於 f i 1,j 3.修改乙個 等價...

lintcode練習 119 編輯距離

給出兩個單詞word1和word2,計算出將word1 轉換為word2的最少操作次數。你總共三種操作方法 給出 work1 mart 和 work2 karma 返回 3 當i 0時,dp 0,j j,j 0.len word2 表示word2需要刪除j位來使其與word1相同為空 同理當j 0,...