首页 > 编程语言 > 详细

子数组的最大累加和

时间:2021-06-04 11:51:23      阅读:19      评论:0      收藏:0      [点我收藏+]

首先看题目描述

技术分享图片

 

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

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;
    }

 

子数组的最大累加和

原文:https://www.cnblogs.com/wq-9596/p/14847808.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!