Complexity: O(n).
class Solution {
public:
int maxSubArray(int A[], int n) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if(n==0) return 0;
int tempSum = A[0];
int tempMax = A[0];
for(int i=1;i<n;i++)
{
if(tempSum<0)
{
tempSum = A[i];
}
else
{
tempSum = tempSum + A[i];
}
tempMax = max(max(tempMax,tempSum),max(tempMax,A[i]));
}
return tempMax;
}
};