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]

作者:月为暮,发布于:2020/06/30
原文:https://www.cnblogs.com/cong12586/p/13209179.html