Maximum Subarray Sum (Kadane’s Algorithm)?
Short answer: int MaxSubArray(int[] nums) { int maxSoFar = nums[0]; int maxEndingHere = nums[0]; for (int i = 1; i < nums.Length; i++) { maxEndingHere = Math.Max(nums[i], maxEndingHere + nums[i]); maxSoFar = Math.Max(maxSoFar, maxEndingHere); } return maxSoFar; } Explanation: Track max subarray ending at current position; update global max.
Example code
int MaxSubArray(int[] nums)
{
int maxSoFar = nums[0];
int maxEndingHere = nums[0];
for (int i = 1; i < nums.Length; i++)
{
maxEndingHere = Math.Max(nums[i], maxEndingHere + nums[i]);
maxSoFar = Math.Max(maxSoFar, maxEndingHere);
}
return maxSoFar;
} Explanation: Track max subarray ending at current position; update global max.
Real-world example (ShopNest)
In coding rounds, state complexity aloud, write a clear ShopNest-flavored example (orders, carts), then handle edge cases (empty list, null, overflow).
Say this in the interview
- Define — one clear sentence (the short answer above).
- Example — relate it to a project like ShopNest or your real work.
- Trade-off — when you would not use it.
Share this Q&A
Share preview image: https://www.toolliyo.com/images/toolliyo-logo.png