給定兩個字串text1
和text2
,返回這兩個字串的最長公共子串行的長度。
乙個字串的 子串行 是指這樣乙個新的字串:它是由原字串在不改變字元的相對順序的情況下刪除某些字元(也可以不刪除任何字元)後組成的新字串。
例如,"ace" 是 "abcde" 的子串行,但 "aec" 不是 "abcde" 的子串行。兩個字串的「公共子串行」是這兩個字串所共同擁有的子串行。
若這兩個字串沒有公共子串行,則返回 0。
示例 1:
輸入:text1 = "abcde", text2 = "ace"輸出:3解釋:最長公共子串行是 "ace",它的長度為 3。示例 2:
輸入:text1 = "abc", text2 = "abc"輸出:3解釋:最長公共子串行是 "abc",它的長度為 3。示例 3:
輸入:text1 = "abc", text2 = "def"輸出:0解釋:兩個字串沒有公共子串行,返回 0。
dp[i][j] 的含義是:對於 s1[1..i] 和 s2[1..j] , 它們的 lcs ⻓度是 dp[i][j] 。
如果 s1[i]==s2[j] ,那 麼這個字元⼀定在 lcs 中;
否則的話, s1[i] 和 s2[j] 這兩個字元⾄少 有⼀個不在 lcs 中,需要丟棄⼀個。
class solution
}return dp[m][n];
}}
力扣 1143 最長公共子串行
1143.最長公共子串行 給定兩個字串text1和text2,返回這兩個字串的最長公共子串行的長度。乙個字串的 子串行 是指這樣乙個新的字串 它是由原字串在不改變字元的相對順序的情況下刪除某些字元 也可以不刪除任何字元 後組成的新字串。例如,ace 是 abcde 的子串行,但 aec 不是 abc...
1143 最長公共子串行
給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行。乙個字串的 子串行 是指這樣乙個新的字串 它是由原字串在不改變字元的相對順序的情況下刪除某些字元 也可以不刪除任何字元 後組成的新字串。例如,ace 是 abcde 的子串行,但 aec 不是 abcde 的子串行。兩個字串的...
1143 最長公共子串行
給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行。乙個字串的 子串行 是指這樣乙個新的字串 它是由原字串在不改變字元的相對順序的情況下刪除某些字元 也可以不刪除任何字元 後組成的新字串。例如,ace 是 abcde 的子串行,但 aec 不是 abcde 的子串行。兩個字串的...