AlgoLounge

Distinct Subsequences

hard

Given two strings s and t, return the number of distinct subsequences of s which equals t.

The test cases are generated so that the answer fits on a 32-bit signed integer.

Examples

Example 1

Input:  s = "rabbbit", t = "rabbit"
Output: 3

There are 3 ways you can generate "rabbit" from s.

Example 2

Input:  s = "babgbag", t = "bag"
Output: 5

There are 5 ways you can generate "bag" from s.

Constraints

  • 1 <= s.length, t.length <= 1000
  • s and t consist of English letters
TypeScript
Loading editor…
List of test cases (7)
Case 1
s = "rabbbit"
t = "rabbit"
Case 2
s = "babgbag"
t = "bag"
Case 3
s = "a"
t = "a"
Case 4
s = "aaaa"
t = "aa"
Case 5
s = "aab"
t = "ab"
Case 6
s = "aab"
t = "b"
Case 7
s = "aabdbbac"
t = "aabdac"