給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行。
乙個字串的 子串行 是指這樣乙個新的字串:它是由原字串在不改變字元的相對順序的情況下刪除某些字元(也可以不刪除任何字元)後組成的新字串。
例如,「ace」 是 「abcde」 的子串行,但 「aec」 不是 「abcde」 的子串行。兩個字串的「公共子串行」是這兩個字串所共同擁有的子串行。
若這兩個字串沒有公共子串行,則返回 0。
示例 1:
輸入:text1 = 「abcde」, text2 = 「ace」示例 2:輸出:3
解釋:最長公共子串行是 「ace」,它的長度為 3。
輸入:text1 = 「abc」, text2 = 「abc」示例 3:輸出:3
解釋:最長公共子串行是 「abc」,它的長度為 3。
輸入:text1 = 「abc」, text2 = 「def」動態規劃解法:輸出:0
解釋:兩個字串沒有公共子串行,返回 0。
例如:s1=「abcde」 s2= 「ace」,求兩個字串的公共子串行,答案是「ace」
1. s t
2. 子問題劃分
以上兩個自序列的最大值
3. 邊界
只剩下和,如果相等就返回1,不等就返回0
4. 使用乙個**來儲存dp的結果
如果 s[i] == t[j] 則result[i][j] = result[i-1][j-1] + 1
否則result[i][j] = max(result[i][j-1],result[i-1][j])
LeetCode1143 最長公共子串行
題目描述 給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行。乙個字串的 子串行 是指這樣乙個新的字串 它是由原字串在不改變字元的相對順序的情況下刪除某些字元 也可以不刪除任何字元 後組成的新字串。例如,ace 是 abcde 的子串行,但 aec 不是 abcde 的子串行。...
最長公共子串行 LeetCode 1143
給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行。若這兩個字串沒有公共子串行,則返回 0。乙個字串的子串行是指這樣乙個新的字串 它是由原字串在不改變字元的相對順序的情況下刪除某些字元 也可以不刪除任何字元 後組成的新字串。例如,ace 是 abcde 的子串行,但 aec 不...
Leetcode 1143 最長公共子串行
題目鏈結 dp思路引導 咋說呢,當你列了乙個二維dp時,往往都會考慮左上方的三個框框對這個框的遞推。同型別見 第190場周賽 leetcode 1458 兩個子串行的最大點積 做了幾道之後,你就會覺得它很經典。本題具體思路 定義 dp i j 表示text1 0 i 和text2 0 j 的最長公共...