Greedy Algorithms/Medium

Maximum Subarray (Kadane's Algorithm)PRO PASS

Time: O(N)Space: O(1)

Step 1: Setup & Initialization - Kadanes Algorithm

Reset current sum whenever running sum drops below 0.

Array Elements & Pointers
10
[0]
20
[1]
30
[2]
40
[3]
50
[4]
Live Variables & Invariants
status:Initialized
pattern:Kadanes Algorithm
Step 1 / 333%
Solution Code
1
function maxSubArray(nums: number[]): number {
2
  let max = nums[0], curr = nums[0];
3
  for (let i = 1; i < nums.length; i++) {
4
    curr = Math.max(nums[i], curr + nums[i]);
5
    max = Math.max(max, curr);
6
  }
7
  return max;
8
}

Custom Test Case Runner

Input your custom values and visualize step-by-step trace

Quick Presets:

AI DSA Coach

Contextual Tutor for Maximum Subarray (Kadane's Algorithm)

Hello! I am your AI DSA Tutor for **Maximum Subarray (Kadane's Algorithm)** (Greedy Algorithms). Ask me anything about this algorithm, time complexity, or request a step hint!