2026-06-01 18:12:40 +08:00
|
|
|
#+ANKI_DECK: study_deck_02
|
2026-06-01 17:12:10 +08:00
|
|
|
* TODO 0115. Distinct Subsequences :hard:
|
2026-06-01 02:33:30 +08:00
|
|
|
:PROPERTIES:
|
2026-06-01 17:22:07 +08:00
|
|
|
:NEETCODE: [[file:../../roadmap.org::*0115. Distinct Subsequences][0115. Distinct Subsequences]]
|
2026-06-01 02:33:30 +08:00
|
|
|
:END:
|
|
|
|
|
|
2026-06-01 17:22:07 +08:00
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
*Example 1:*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#+begin_src
|
|
|
|
|
Input: s = "rabbbit", t = "rabbit"
|
|
|
|
|
Output: 3
|
|
|
|
|
Explanation:
|
|
|
|
|
As shown below, there are 3 ways you can generate "rabbit" from s.
|
|
|
|
|
rabbbit
|
|
|
|
|
rabbbit
|
|
|
|
|
rabbbit
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*Example 2:*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#+begin_src
|
|
|
|
|
Input: s = "babgbag", t = "bag"
|
|
|
|
|
Output: 5
|
|
|
|
|
Explanation:
|
|
|
|
|
As shown below, there are 5 ways you can generate "bag" from s.
|
|
|
|
|
babgbag
|
|
|
|
|
babgbag
|
|
|
|
|
babgbag
|
|
|
|
|
babgbag
|
|
|
|
|
babgbag
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*Constraints:*
|
|
|
|
|
|
|
|
|
|
- ~1 <= s.length, t.length <= 1000~
|
|
|
|
|
|
|
|
|
|
- ~s~ and ~t~ consist of English letters.
|
|
|
|
|
|
2026-06-01 02:39:53 +08:00
|
|
|
** TODO Approach
|
|
|
|
|
Write your approach here.
|
|
|
|
|
|
|
|
|
|
** TODO Python
|
2026-06-05 22:32:49 +08:00
|
|
|
#+begin_src python :lc-problem 115 :lc-lang python3
|
2026-06-01 17:22:07 +08:00
|
|
|
class Solution:
|
|
|
|
|
def numDistinct(self, s: str, t: str) -> int:
|
2026-06-01 02:39:53 +08:00
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
** TODO C++
|
2026-06-05 22:32:49 +08:00
|
|
|
#+begin_src cpp :lc-problem 115
|
2026-06-01 17:22:07 +08:00
|
|
|
class Solution {
|
|
|
|
|
public:
|
|
|
|
|
int numDistinct(string s, string t) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
};
|
2026-06-01 02:33:30 +08:00
|
|
|
#+end_src
|