給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行的長度。
乙個字串的 子串行 是指這樣乙個新的字串:它是由原字串在不改變字元的相對順序的情況下刪除某些字元(也可以不刪除任何字元)後組成的新字串。
例如,「ace」 是 「abcde」 的子串行,但 「aec」 不是 「abcde」 的子串行。兩個字串的「公共子串行」是這兩個字串所共同擁有的子串行。
若這兩個字串沒有公共子串行,則返回 0。
示例 1:
輸入:text1 = 「abcde」, text2 = 「ace」
輸出:3
解釋:最長公共子串行是 「ace」,它的長度為 3。
經典的最長公共子串行問題,定義f[n][m]表示狀態,其中f[i][j]表示第乙個字串前i和元素和第二個字串前j個元素的最長公共子串行的長度,轉移方程見**
public
intlongestcommonsubsequence
(string text1,
string text2)}}
return f[n]
[m];
}
這裡要注意區分最長公共子串行和最長公共子串,這是兩個不同的問題,不能混淆 1143 最長公共子串行
給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行。乙個字串的 子串行 是指這樣乙個新的字串 它是由原字串在不改變字元的相對順序的情況下刪除某些字元 也可以不刪除任何字元 後組成的新字串。例如,ace 是 abcde 的子串行,但 aec 不是 abcde 的子串行。兩個字串的...
1143 最長公共子串行
給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行。乙個字串的 子串行 是指這樣乙個新的字串 它是由原字串在不改變字元的相對順序的情況下刪除某些字元 也可以不刪除任何字元 後組成的新字串。例如,ace 是 abcde 的子串行,但 aec 不是 abcde 的子串行。兩個字串的...
1143 最長公共子串行
一.題目描述 二.動態規劃解法 例如 s1 abcde s2 ace 求兩個字串的公共子串行,答案是 ace 1.s t 2.子問題劃分 1 如果s的最後一位等於t的最後一位,則最大子串行就是和的最大子串行 1 2 如果s的最後一位不等於t的最後一位,那麼最大子串行就是 和 最大子串行 和 最大子串...