Maximum Subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.
For example, given the array
the contiguous subarray
[−2,1,−3,4,−1,2,1,−5,4]
,the contiguous subarray
[4,−1,2,1]
has the largest sum = 6
.class Solution { public: int maxSubArray(int A[], int n) { // Start typing your C/C++ solution below // DO NOT write int main() function if (!A || !n) return 0; int m = A[0]; int sumSoFar = 0; for (int i = 0; i < n; ++i) { sumSoFar += A[i]; if (sumSoFar > m) { m = sumSoFar; } if (sumSoFar < 0) { sumSoFar = 0; } } return m; } };
No comments:
Post a Comment