Maximum Subarray (Kadane's)

T: O(n)
Feedback

Maximum Subarray (Kadane's)

i=0 (-2). Restart: currentSum = -2. maxSum = -2.
Array (Kadane's)
-2
0
1
1
-3
2
4
3
-1
4
2
5
1
6
-5
7
4
8
Max subarray sum: -2
Max subarrayCurrent i
SpeedNormal (500ms)
Parameters

{ array: number[] }

Variables
i0
currentSum-2
maxSum-2
1maxSum = arr[0], currentSum = arr[0] → maxSum = -2, currentSum = -2
2for i = 1 to n-1: → i = 0 (arr[i]=-2)
3 currentSum = max(currentSum + arr[i], arr[i]) restart → -2
4 maxSum = max(maxSum, currentSum) → -2
5return maxSum
Output
i=0 (-2). Restart: currentSum = -2. maxSum = -2.