115不同的子序列

# 看着大佬的题解做了出来,但写不出来题解

class Solution:
def numDistinct(self,s:str,t:str) -> int:
n1 = len(s)
n2 = len(t)
dp = [[0] * (n1 + 1) for _ in range((n2 + 1))]
for j in range(n1 + 1):
dp[0][j] = 1
for i in range(1,n2 + 1):
for j in range(1,n1 + 1):
if t[i - 1] == s[j - 1]:
dp[i][j] = dp[i-1][j - 1] + dp[i][j-1]
else:
dp[i][j] = dp[i][j - 1]
return dp[-1][-1]
posted @ 2020-06-29 17:41  月为暮  阅读(214)  评论(0编辑  收藏  举报