Explain Kadane's algorithm.
Skip to solutionKEEP THE
mediumDSA
How do you find the maximum subarray sum?
819 views
01
Understand the problem
kadanedp
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Nudge consolestandby
Stuck? Beam a request up — the console returns a conceptual nudge that guides your logic without spoiling the implementation.
03
Study the solution
Kadane's algorithm: track a running sum, resetting it to the current element whenever it would go negative, and keep the best seen. It finds the max contiguous sum in O(n) time, O(1) space.
Solution ready — 2 min read
Classified // press E to declassify
04
Read the code
Kadane's algorithm
Run Playgrounddef max_subarray(nums):
max_ending = best = nums[0]
for x in nums[1:]:
max_ending = max(x, max_ending + x) # extend or restart
best = max(best, max_ending)
return best
# --- demo ---
print(max_subarray([-2, 1, -3, 4, -1, 2, 1, -5, 4])) # 6 -> [4,-1,2,1]05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.
Transmission complete // awaiting log
KEEP THE
STREAK ALIVE.
Dossier 46 of 127 decoded in the Data Structures & Algorithms track. One more won't hurt.