leetcode之distinct-subsequences(求字符串中子串的数量)
题目
Given a string S and a string T, count the number of distinct subsequences of T in S.
A subsequence of a string is a new string which is formed from the original string by deleting some (can be none) of the characters without disturbing the relative positions of the remaining characters. (ie,"ACE"is a subsequence of"ABCDE"while"AEC"is not).
Here is an example:
S =“rabbbit”, T =“rabbit”
Return 3.
题意
给定两个字符串,分别是字符串T和字符串S,T是母串,S是子串。求T中由多少种可以组成S这个子串的组合?
例如:S=“rabbbit” T = “rabbit”
则返回值为3.
解题思路
这一题是典型的动态规划题目,求某字符串中的对应子串个数,我们首先要找到其中的规律,我们用dp[i][j]来表示长度为
i的子和长度为j的母串的数量,则:
dp[0][j]=1,因为i=0,表示子串长度为0ÿ