您的位置:首页 > 其它

LeetCode-连续子数组的最大和

2017-03-10 14:41 387 查看
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.

For example, given the array[−2,1,−3,4,−1,2,1,−5,4],

the contiguous subarray[4,−1,2,1]has the largest sum =6.

click to show more practice.

More practice:

If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach, which is more subtle.

int maxSubArray(int A[], int n) {

int curSum = 0;
int maxSum = A[0];

for(int j = 0; j < n; j++) {
if(curSum >= 0) {
curSum += A[j];
}
else {
curSum = A[j];
}
if(curSum > maxSum) {
maxSum = curSum;
}
}
return maxSum;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: