https://leetcode.com/problems/longest-common-subsequence/
95%!!! 376ms
class Solution:
def longestCommonSubsequence(self, text1: str, text2: str) -> int:
dp = []
for r in range(len(text1)+1):
dp.append([0]*(len(text2)+1))
# dp[r][c] => LCS of text1[:r], text2[:c]
for _r, _ in enumerate(text1):
r = _r+1
for _c, _ in enumerate(text2):
c = _c+1
if text1[_r] == text2[_c]:
dp[r][c] = dp[_r][_c]+1
else:
dp[r][c] = max(dp[_r][c], dp[r][_c])
return dp[len(text1)][len(text2)]
'algorithm' 카테고리의 다른 글
638. Shopping Offers (0) | 2020.09.12 |
---|---|
72. Edit Distance (0) | 2020.09.12 |
674. Longest Continuous Increasing Subsequence (0) | 2020.09.07 |
1155. Number of Dice Rolls With Target Sum (0) | 2020.09.07 |
300. Longest Increasing Subsequence (0) | 2020.09.06 |