1.Maximum Subarray Sum
Given an integer array, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.
Input: [-2,1,-3,4,-1,2,1,-5,4],
Output: 6
Explanation: [4,-1,2,1] has the largest sum = 6
Solution :
class Solution
{
public:
int maxSubArray(vector<int> &nums)
{
int sum = 0, maxSum = INT_MIN;
for (int i = 0; i < nums.size(); i++)
{
sum = sum + nums[i];
if (sum > maxSum)
{
maxSum = sum;
}
if (sum < 0)
{
sum = 0;
}
}
return maxSum;
}
};
Time Complexity: O(n) using Kadane's Algorithm
Last updated
Was this helpful?