LeetCodeDiary

A Diary for solving LeetCode problems

View on GitHub
'''
Description: 
Autor: Au3C2
Date: 2021-03-17 12:12:27
LastEditors: Au3C2
LastEditTime: 2021-03-17 15:15:40
'''
class Solution(object):
    def numDistinct(self, s, t):
        """
        :type s: str
        :type t: str
        :rtype: int
        """
        m, n = len(s), len(t)

        dp = [1] + [0] * n

        for i in range(1, m + 1):
            for j in range(min(i,n), 0, -1):
                if s[i - 1] == t[j - 1]:
                    dp[j] += dp[j - 1]

        return dp[-1]

# 动态规划,困难,每日一题。动态规划还是不太会,准备重回动态规划
# https://leetcode-cn.com/problems/distinct-subsequences/