Learn
Practice
Interview
Resources
Newsletter
F
Toggle theme
0
F
0
Toggle menu
Animations
← Back to All Animations
Maximum Subarray
Bookmark
Brute Force
Kadane
Divide & Conquer
Input
Classic
Mostly Positive
All Negative
Single Element
Custom
nums
=
[-2, 1, -3, 4, -1, 2, 1]
0
1
2
3
4
5
6
-2
1
-3
4
-1
2
1
0
1
2
3
4
5
6
-2
1
-3
4
-1
2
1
window =
-1
best =
-1
0
1
2
3
4
5
6
-2
1
-3
4
-1
2
1
[0..1] =
-2
+
1
=
-1
→ new best
window =
1
best =
1
0
1
2
3
4
5
6
-2
1
-3
4
-1
2
1
[0..5] =
-1
+
2
=
1
→ new best
window =
-2
best =
2
0
1
2
3
4
5
6
-2
1
-3
4
-1
2
1
[1..2] =
1
+
(-3)
=
-2
window =
4
best =
4
0
1
2
3
4
5
6
-2
1
-3
4
-1
2
1
[1..6] =
3
+
1
=
4
→ new best
window =
2
best =
4
0
1
2
3
4
5
6
-2
1
-3
4
-1
2
1
[2..5] =
0
+
2
=
2
window =
3
best =
4
0
1
2
3
4
5
6
-2
1
-3
4
-1
2
1
[3..4] =
4
+
(-1)
=
3
window =
-1
best =
6
0
1
2
3
4
5
6
-2
1
-3
4
-1
2
1
[4..4] =
0
+
(-1)
=
-1
window =
2
best =
6
0
1
2
3
4
5
6
-2
1
-3
4
-1
2
1
[5..5] =
0
+
2
=
2
window =
1
best =
6
0
1
2
3
4
5
6
-2
1
-3
4
-1
2
1
Max subarray sum =
6
algo
master
.
io
Step:
Start: try every window and keep the largest sum
0 / 37
Input
Classic
Mostly Positive
All Negative
Single Element
Custom
nums
=
[-2, 1, -3, 4, -1, 2, 1]
0 / 37
algo
master
.
io
Step:
Start: try every window and keep the largest sum