一. 題目描述:
二. 動態規劃解法
例如:s1="abcde" s2= "ace",求兩個字串的公共子串行,答案是「ace」
1. s t
2. 子問題劃分
(1) 如果s的最後一位等於t的最後一位,則最大子串行就是和的最大子串行+1
(2) 如果s的最後一位不等於t的最後一位,那麼最大子串行就是
① 和 最大子串行
② 和 最大子串行
以上兩個自序列的最大值
3. 邊界
只剩下和
,如果相等就返回
1,不等就返回
04. 使用乙個**來儲存dp的結果
如果 s[i] == t[j] 則
dp[i][j] = dp[i-1][j-1] + 1
否則dp[i][j] = max(dp[i][j-1],dp[i-1][j])ac
ea11(「a」與」ac」)的最大子串行
1(「a」與」ace」)的最大子串行
b1(「ab」與」a」)的最大子串行11
c122
d122
e123
最後返回結果dp[i][j] = 3;
1143 最長公共子串行
給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行。乙個字串的 子串行 是指這樣乙個新的字串 它是由原字串在不改變字元的相對順序的情況下刪除某些字元 也可以不刪除任何字元 後組成的新字串。例如,ace 是 abcde 的子串行,但 aec 不是 abcde 的子串行。兩個字串的...
1143 最長公共子串行
給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行。乙個字串的 子串行 是指這樣乙個新的字串 它是由原字串在不改變字元的相對順序的情況下刪除某些字元 也可以不刪除任何字元 後組成的新字串。例如,ace 是 abcde 的子串行,但 aec 不是 abcde 的子串行。兩個字串的...
1143 最長公共子串行
給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行的長度。乙個字串的 子串行 是指這樣乙個新的字串 它是由原字串在不改變字元的相對順序的情況下刪除某些字元 也可以不刪除任何字元 後組成的新字串。例如,ace 是 abcde 的子串行,但 aec 不是 abcde 的子串行。兩個...