leetcode 1143 最長公共子串行

2021-10-11 01:33:48 字數 864 閱讀 2934

看到兩個字串就想到用動態規劃來做這道題了。設dp[i][j]為text1[:i]和text2[:j]的最長公共子串行的長度。

如果計算dp[i][j]分為兩種情況:

class

solution

(object):

deflongestcommonsubsequence

(self, text1, text2)

:"""

:type text1: str

:type text2: str

:rtype: int

"""m,n =

len(text1)

,len

(text2)

dp =[[

0]*(n+1)

for i in

range

(m+1)]

for i in

range(1

,m+1):

for j in

range(1

,n+1):

if text1[i-1]

==text2[j-1]

: dp[i]

[j]= dp[i-1]

[j-1]+

1else

: dp[i]

[j]=

max(dp[i-1]

[j],dp[i]

[j-1])

return dp[-1

][-1

]

LeetCode1143 最長公共子串行

題目描述 給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行。乙個字串的 子串行 是指這樣乙個新的字串 它是由原字串在不改變字元的相對順序的情況下刪除某些字元 也可以不刪除任何字元 後組成的新字串。例如,ace 是 abcde 的子串行,但 aec 不是 abcde 的子串行。...

LeetCode 1143 最長公共子串行

給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行。乙個字串的 子串行 是指這樣乙個新的字串 它是由原字串在不改變字元的相對順序的情況下刪除某些字元 也可以不刪除任何字元 後組成的新字串。例如,ace 是 abcde 的子串行,但 aec 不是 abcde 的子串行。兩個字串的...

最長公共子串行 LeetCode 1143

給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行。若這兩個字串沒有公共子串行,則返回 0。乙個字串的子串行是指這樣乙個新的字串 它是由原字串在不改變字元的相對順序的情況下刪除某些字元 也可以不刪除任何字元 後組成的新字串。例如,ace 是 abcde 的子串行,但 aec 不...