1143 最長公共子串行 過

2021-10-24 21:36:21 字數 626 閱讀 7835

給定兩個字串 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的最後一位,那麼最大子串行就是 和 最大子串行 和 最大子串...