leetcode學習日記5 編輯距離

2021-09-26 02:02:22 字數 938 閱讀 2674

給定兩個單詞word1和word2,計算出將word1轉換成word2所使用的最少運算元。你可以對乙個單詞進行三種操作

插入乙個字元

刪除乙個字元

替換乙個字元

例項:輸入word1=「horse」,word2=「rose」輸出3

解釋:horse->rorse

rorse->rose

rose->ros

思路:

動態規劃

乙個單詞word1通過三種途徑靠近下乙個單詞word2

通過以上總結可以得出動態規劃的狀態轉移公式。

還缺少初始值和迴圈方式。由於缺少的是最小值,初始值都填最大值。

一開始以為如果word1有i位,word2有j位,變換的最長路徑是先把word1完全刪除再加上word2,總共需要i+j步。

後來發現,因為可以替換字元,故min(i, j)次替換,再abs(i-j)次刪減或增加也是可以的,故最長其實是max(i, j)。

class solution 

}for

(i=1

;i<=s1;i++

)else

dp[i]

[j]=

min(dp[i]

[j], dp[i-1]

[j-1]+

1);//cout[j]=

min(dp[i]

[j], dp[i-1]

[j]+1)

;//cout[j]=

min(dp[i]

[j], dp[i]

[j-1]+

1);//cout<}

}return dp[s1]

[s2];}

};

學習日記5

考核 題改錯 int a 5 int p a a a 這兩個都是錯誤的,陣列名不能自加減 a 神奇的手風琴 分別從字串頭和字串末相向查詢,找到乙個 和乙個 乙個 和乙個 若找不到,則不成立返回 1 若找到之後前者下標大於後者下標,也返回 1,若後者大於前者,則在兩個下標之間數 的個數。如下 在這裡插...

python學習日記(5)

格式限定 可作為閉包使用 print format python 學習日記 print format python 學習日記 print format python 學習日記 print format language python dairy 學習日記 article python 學習日記 pr...

Emacs 編輯verilog 學習日記

終於開始寫部落格啦。以前一直打算寫。由於工作忙一次次延期了。寫部落格的好處不必多說。以前有一些學習心得總是用乙個word,或者note記錄一些。時間久了都不知道弄哪兒去了。從今天開始記錄學習中點點滴滴。1 emacs 基本操作 c 表示 ctrl 鍵。c f 就表示 按住ctrl 鍵再輸入 f。m ...