连续子数组的最大值O(n)解法

来源:互联网 发布:lol for mac 美服下载 编辑:程序博客网 时间:2024/06/03 14:12

原文链接http://blog.nlogn.cn/programming-pearls-the-maximum-sum-of-substring/

这里头有介绍相应的O(n)解法,查过了同样的问题,不过只有代码,没说对思路

看完之后,会觉得其实很简单,就是当前值要不要把前面的值加上去
下面直接提供一个AC的代码

//find the continunous sun int func(vector<int>& a) {    int last_adding = 0;    int max_result = a[0];    for (int i = 0; i < a.size()-1; i++) {        last_adding += a[i];        if (last_adding < 0)            last_adding = 0;        max_result = max(a[i + 1] + last_adding, max_result);    }    return max_result;}
阅读全文
0 0