Mid Coding

Maximum Subarray Sum (Kadane’s Algorithm)?

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.

More from C# Programming Tutorial

All questions for this course