lincode.41 最大子数组

Posted 会飞的雅蠛蝶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lincode.41 最大子数组相关的知识,希望对你有一定的参考价值。

最大子数组

 

给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。

注意事项

子数组最少包含一个数

样例

给出数组[?2,2,?3,4,?1,2,1,?5,3],符合要求的子数组为[4,?1,2,1],其最大和为6

挑战

要求时间复杂度为O(n)

标签
 
 
class Solution {
public:
    /*
     * @param nums: A list of integers
     * @return: A integer indicate the sum of max subarray
     */
    int maxSubArray(vector<int> &nums) {
        // write your code here
        int s=nums.size();
        int res=nums[0];
        int cn=0;
        for(int i =0;i<s;i++){
            cn+=nums[i];
            if(res<cn)
                res=cn;
            if(cn<0)
                cn=0;
        }
        return res;
    }
};

  

以上是关于lincode.41 最大子数组的主要内容,如果未能解决你的问题,请参考以下文章

代码题— 数组最大子序列

求最大子数组的思想和代码

真香!8 行代码搞定最大子数组和问题

《剑指Offer——连续子数组的最大和,礼物的最大价值》代码

返回一个二维整数数组中最大子数组的和

求二维数组最大子数组