sahithyan/utils Skip to content

maxSubarraySum

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int maxSubArray(vector<int>& nums) {
int maxSum = nums[0];
int currentSum = nums[0];
for (int i = 1; i < nums.size(); i++) {
currentSum = max(nums[i], currentSum + nums[i]);
maxSum = max(maxSum, currentSum);
}
return maxSum;
}

Finds the contiguous subarray with the largest sum within a one-dimensional array. Uses Kedane’s algorithm. This algorithm efficiently handles arrays with both positive and negative numbers and runs in linear time.