子数组的最大累加和

Posted qwer95

tags:

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

首先看题目描述

 

题意不难理解,主要是思路

1、设置一个变量maxresult存储全局最大值,一个变量curresult存储当前的和;

2、然后开始遍历数组:

1)将curresult加上当前的值获得新curresult;

2)如果新curresult小于0,则重置curresult为0,并继续下一循环;

3)如果新curresult大于maxresult,则更新maxresult;

代码实现如下:

int maxsumofSubarray(vector<int>& arr) {
        // write code here
        int maxresult = 0;
        int curresult = 0;
        for(int i = 0;i<arr.size();i++)
        {
            curresult += arr[i];
            if(curresult < 0)
            {
                curresult = 0;
            }
            if(curresult > maxresult)
            {
                maxresult = curresult;
            }
        }
        return maxresult;
    }

 

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

子数组的最大累加和

课堂练习----一个整数数组中最大子数组的和

算法总结之 子矩阵的最大累加和问题

数组中累加和为k的最大子数组的长度

2021-06-15:返回一个二维数组中,子矩阵最大累加和。

子矩阵最大累加和