## LeetCode

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`

.
Solution: when see question about two strings , DP should be considered first. we can abstract this question to calculate appear times for string T with length i in string S with length j, which can be represented by numbers[i][j], then through observation and thinking , we can know for numbers[i][j] it should at least equal the numbers[i][j-1] and if T.charAt(i)==S.charAt(j) , numbers[i][j] should also be add numbers[i-1][j-1]