π 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;
    }
};