# 看着大佬的题解做了出来,但写不出来题解
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]