π One-stop destination for all your technical interview Preparation π
Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.
A subarray is a contiguous part of an array.
for(i=0,n)
for (j=i,n)
for(k=i,j)
check for max subarray sum
for(i=0,n)
sum=0;
for (j=i,n)
sum+= arr[i];
maxS=max(maxS,sum);
class Solution{
public:
int maxSubArray(vector<int> &nums) // Kadane's algorithm
{
int n = nums.size();
int mx = nums[0];
int sm = 0;
for (int i = 0; i < n; i++)
{
sm += nums[i];
mx = max(sm, mx);
if (sm < 0)
sm = 0;
}
return mx;
}
};