Learn
Practice
Interview
Resources
Newsletter
F
Toggle theme
0
F
0
Toggle menu
Animations
← Back to All Animations
Substring with Concatenation of All Words
Bookmark
Brute Force
Sliding Window
Input
Example 1
Example 2
Example 3
Custom
s
=
barfoothefoobarman
,
words
=
[foo, bar]
words = [
foo, bar
]
b
a
r
f
o
o
t
h
e
f
o
o
b
a
r
m
a
n
0
5
10
15
words = [
foo, bar
]
b
a
r
f
o
o
t
h
e
f
o
o
b
a
r
m
a
n
0
5
10
15
words = [
foo, bar
]
result =
[]
start =
0
word
2/2
window
b
a
r
f
o
o
t
h
e
f
o
o
b
a
r
m
a
n
0
5
10
15
seen/need
bar
1
/1
foo
1
/1
"foo"
matches (1/1), word 2/2 ok
words = [
foo, bar
]
result =
[0]
start =
2
window
b
a
r
f
o
o
t
h
e
f
o
o
b
a
r
m
a
n
0
5
10
15
seen/need
bar
0
/1
foo
0
/1
try start
2
split into 2 words
words = [
foo, bar
]
result =
[0]
start =
3
word
1/2
window
b
a
r
f
o
o
t
h
e
f
o
o
b
a
r
m
a
n
0
5
10
15
seen/need
bar
0
/1
foo
1
/1
"foo"
matches (1/1), word 1/2 ok
words = [
foo, bar
]
result =
[0]
start =
5
window
b
a
r
f
o
o
t
h
e
f
o
o
b
a
r
m
a
n
0
5
10
15
seen/need
bar
0
/1
foo
0
/1
try start
5
split into 2 words
words = [
foo, bar
]
result =
[0]
start =
7
window
b
a
r
f
o
o
t
h
e
f
o
o
b
a
r
m
a
n
0
5
10
15
seen/need
bar
0
/1
foo
0
/1
try start
7
split into 2 words
words = [
foo, bar
]
result =
[0]
start =
9
window
b
a
r
f
o
o
t
h
e
f
o
o
b
a
r
m
a
n
0
5
10
15
seen/need
bar
0
/1
foo
0
/1
try start
9
split into 2 words
words = [
foo, bar
]
result =
[0, 9]
start =
9
window
b
a
r
f
o
o
t
h
e
f
o
o
b
a
r
m
a
n
0
5
9
10
15
seen/need
bar
1
/1
foo
1
/1
all 2 words matched
result += [
9
]
words = [
foo, bar
]
result =
[0, 9]
start =
11
word
1/2
window
b
a
r
f
o
o
t
h
e
f
o
o
b
a
r
m
a
n
0
5
9
10
15
seen/need
bar
0
/1
foo
0
/1
"oba"
not a target word: skip start 11
words = [
foo, bar
]
result =
[0, 9]
b
a
r
f
o
o
t
h
e
f
o
o
b
a
r
m
a
n
0
5
9
10
15
seen/need
bar
0
/1
foo
0
/1
result =
[0, 9]
algo
master
.
io
Step:
Start of algorithm
0 / 34
Input
Example 1
Example 2
Example 3
Custom
s
=
barfoothefoobarman
,
words
=
[foo, bar]
0 / 34
algo
master
.
io
Step:
Start of algorithm