Learn
Practice
Interview
Resources
Newsletter
F
Toggle theme
0
F
0
Toggle menu
Animations
← Back to All Animations
Distinct Subsequences
Bookmark
Input
Example 1
Example 2
Example 3
Custom
s
=
abc
,
t
=
ab
s =
"abc"
t =
"ab"
t (j)
s (i)
0
1
2
∅
a
b
0
1
2
3
∅
a
b
c
0
0
0
0
0
0
0
0
0
0
0
0
how many ways to spell "ab" by picking chars of "abc" in order?
s =
"abc"
t =
"ab"
t (j)
s (i)
0
1
2
∅
a
b
0
1
2
3
∅
a
b
c
0
0
0
0
0
0
0
0
0
0
0
0
how many ways to spell "ab" by picking chars of "abc" in order?
s =
"abc"
t =
"ab"
t (j)
s (i)
0
1
2
∅
a
b
0
1
2
3
∅
a
b
c
1
0
0
1
0
0
1
0
0
1
0
0
s[
0
] =
'a'
vs t[
0
] =
'a'
s =
"abc"
t =
"ab"
t (j)
s (i)
0
1
2
∅
a
b
0
1
2
3
∅
a
b
c
1
0
0
1
1
0
1
0
0
1
0
0
+1
'a' == 'a'
use it
1
+ skip it
0
=
1
s =
"abc"
t =
"ab"
t (j)
s (i)
0
1
2
∅
a
b
0
1
2
3
∅
a
b
c
1
0
0
1
1
0
1
0
0
1
0
0
'a' != 'b'
skip 'a': dp[1][2] = dp[
0
][2] =
0
s =
"abc"
t =
"ab"
t (j)
s (i)
0
1
2
∅
a
b
0
1
2
3
∅
a
b
c
1
0
0
1
1
0
1
0
0
1
0
0
s[
1
] =
'b'
vs t[
0
] =
'a'
s =
"abc"
t =
"ab"
t (j)
s (i)
0
1
2
∅
a
b
0
1
2
3
∅
a
b
c
1
0
0
1
1
0
1
1
0
1
0
0
s[
1
] =
'b'
vs t[
1
] =
'b'
s =
"abc"
t =
"ab"
t (j)
s (i)
0
1
2
∅
a
b
0
1
2
3
∅
a
b
c
1
0
0
1
1
0
1
1
1
1
0
0
+1
'b' == 'b'
use it
1
+ skip it
0
=
1
s =
"abc"
t =
"ab"
t (j)
s (i)
0
1
2
∅
a
b
0
1
2
3
∅
a
b
c
1
0
0
1
1
0
1
1
1
1
1
0
'c' != 'a'
skip 'c': dp[3][1] = dp[
2
][1] =
1
s =
"abc"
t =
"ab"
t (j)
s (i)
0
1
2
∅
a
b
0
1
2
3
∅
a
b
c
1
0
0
1
1
0
1
1
1
1
1
0
s[
2
] =
'c'
vs t[
1
] =
'b'
s =
"abc"
t =
"ab"
t (j)
s (i)
0
1
2
∅
a
b
0
1
2
3
∅
a
b
c
1
0
0
1
1
0
1
1
1
1
1
1
1
distinct way to spell "ab"
a
b
c
algo
master
.
io
Step:
How many ways can "ab" be spelled by picking chars of "abc" in order?
0 / 14
Input
Example 1
Example 2
Example 3
Custom
s
=
abc
,
t
=
ab
0 / 14
algo
master
.
io
Step:
How many ways can "ab" be spelled by picking chars of "abc" in order?