Learn
Practice
Interview
Resources
Newsletter
F
Toggle theme
0
F
0
Toggle menu
Animations
← Back to All Animations
Longest Repeating Character Replacement
Bookmark
Brute Force
Sliding Window
Optimized
Input
Example 1
Example 2
All Same
All Different
Custom
s
=
ABAB
,
k
=
2
k =
2
0
1
2
3
A
B
A
B
freq
{ }
k =
2
0
1
2
3
A
B
A
B
freq
{ }
k =
2
0
1
2
3
A
B
A
B
left
right
freq[
'A'
] =
1
maxFreq =
1
freq
'A': 1
k =
2
0
1
2
3
maxLen = 2
A
B
A
B
left
right
2
-
1
=
1
<= k =
2
maxLen = 2
new best
freq
'A': 1
'B': 1
k =
2
0
1
2
3
maxLen = 3
A
B
A
B
left
right
freq[
'B'
] =
2
maxFreq =
2
freq
'A': 2
'B': 2
k =
2
0
1
2
3
maxLen = 4
A
B
A
B
left
right
freq[
'B'
] =
1
maxFreq =
1
freq
'B': 1
k =
2
0
1
2
3
maxLen = 4
A
B
A
B
left
right
freq[
'A'
] =
1
maxFreq =
1
freq
'B': 1
'A': 1
k =
2
0
1
2
3
maxLen = 4
A
B
A
B
left
right
3
-
2
=
1
<= k =
2
maxLen = 4
freq
'B': 2
'A': 1
k =
2
0
1
2
3
maxLen = 4
A
B
A
B
left
right
1
-
1
=
0
<= k =
2
maxLen = 4
freq
'A': 1
k =
2
0
1
2
3
maxLen = 4
A
B
A
B
left
right
new start at
3
reset freq
freq
{ }
k =
2
0
1
2
3
maxLen = 4 "ABAB"
A
B
A
B
maxLen =
4
after <= 2 replacements
freq
'B': 1
algo
master
.
io
Step:
Start of algorithm
0 / 26
Input
Example 1
Example 2
All Same
All Different
Custom
s
=
ABAB
,
k
=
2
0 / 26
algo
master
.
io
Step:
Start of algorithm