All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0101_0200.s0115_distinct_subsequences.readme.md Maven / Gradle / Ivy

There is a newer version: 1.30
Show newest version
115\. Distinct Subsequences

Hard

Given two strings `s` and `t`, return _the number of distinct subsequences of `s` which equals `t`_.

A string's **subsequence** is a new string formed from the original string by deleting some (can be none) of the characters without disturbing the remaining characters' relative positions. (i.e., `"ACE"` is a subsequence of `"ABCDE"` while `"AEC"` is not).

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

**Example 1:**

**Input:** s = "rabbbit", t = "rabbit"

**Output:** 3

**Explanation:** As shown below, there are 3 ways you can generate "rabbit" from s. **rabb**b**it** **ra**b**bbit** **rab**b**bit**

**Example 2:**

**Input:** s = "babgbag", t = "bag"

**Output:** 5

**Explanation:** As shown below, there are 5 ways you can generate "bag" from s. **ba**b**g**bag **ba**bgba**g** **b**abgb**ag** ba**b**gb**ag** babg**bag**

**Constraints:**

*   `1 <= s.length, t.length <= 1000`
*   `s` and `t` consist of English letters.




© 2015 - 2024 Weber Informatics LLC | Privacy Policy