[Leetcode] Maximum Subarrary

来源:互联网 发布:淘宝蓝海类目 编辑:程序博客网 时间:2024/05/09 13:41

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.

都是负数的话返回最大的负数。

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 maxSum = tempSum;                for(int i=1;i<n;i++)        {            if(tempSum<=0)            {                tempSum = A[i];            }            else            {                tempSum += A[i];            }            maxSum = max(tempSum,maxSum);        }                return maxSum;    }};


原创粉丝点击