4.32 leetcode -32 maximum-subarray

来源:互联网 发布:磁力解析app源码 编辑:程序博客网 时间:2024/05/21 12:48
题目描述

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.


这个题目,只需要看,之前最大的,连着自己的是多少,假如>0,则+,否则,舍弃

class Solution {public:    int maxSubArray(int A[], int n) {        int max = A[0];        int myself_max = A[0];        for(int i = 1; i < n;i++)            {            if(myself_max < 0)                myself_max = A[i];            else                myself_max = myself_max + A[i];            if(myself_max > max)                max = myself_max;        }        return max;    }};


原创粉丝点击