一维数组,求最大子串和

这个题其实是比较简单的,但是要注意的一点是要能处理全负数的情况,老是忘,今天做个记录:

#include <iostream>
#include <algorithm>
#include <vector>
#include <memory.h>
#include <string>
#include <sstream>
#include <queue>
//#include <hash_map>

using namespace std;

int main(){

    int a[8] = {-1, -2, -3, -10, -4, -7, -2, -5};
    int res = a[0];
    int minS = a[0];
    int sum = a[0];
    for (int i = 1; i < 8; ++i) {
        // 下边三行的顺序很重要,不能换
        sum += a[i];
        res = max(res, sum - minS);
        minS = min(minS, sum);
    }
    cout<< res<< endl;
    
    
    return 0;
}




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 周末所以多睡了半小时,人还是懒拖拖的。 浑浑噩噩没有太多效率地混到了晚上,听了一个专业课答疑,虽然知道大部分提问的...
    弹弹弹阅读 340评论 0 1
  • 在博库上买了好多书,真好*^_^*
    高度临在阅读 149评论 0 0
  • 大宝:牛牛(7周岁6个月13天) 二宝:申申(11个月7天) 读经时间:总第52天,第7周3天 读经人员:牛牛、牛...
    牛牛的猪妈阅读 251评论 0 0