Find the contiguous subarray within an array (containing at least one number) which have the largest sum.
for example, given the Array [?2,1,?3,4,?1,2,1,?5,4" ,
the contiguous subarray < Code style= "Font-family:menlo,monaco,consolas, ' Courier New ', monospace; font-size:12.6000003814697px; PADDING:2PX 4px; Color:rgb (199,37,78); Background-color:rgb (249,242,244) ">[4,?1,2,1" has the largest sum = 6 .
Click to show more practice.
More Practice:
If you had figured out the O (n) solution, try coding another solution using the divide and conquer approach, WHI CH is more subtle.
Test instructions: Maximum consecutive subsequence and.
Idea: For each number if you join it at this time sum<0 words, then let sum= at this time this number, if more than 0 words, then add it can get maximum value, compare to get results
<pre name= "code" class= "CPP" >class solution {public: int maxsubarray (int a[], int n) { int ans = int_min, su m = int_min; for (int i = 0; i < n; i++) { sum = Sum < 0? A[i]: a[i] + sum; if (Sum > ans) ans = sum; } return ans; };
Leetcode Maximum Subarray