首页 > 技术文章 > 最大子列和问题

zhying99 2019-04-15 20:25 原文

算法代码来自慕课(浙大数据结构)

题目:

算法复杂度才(O)N,很难想得到

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main(){
    int n,a[100010];
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    int maxx=-100000000,sum=0;
    for(int i=0;i<n;i++){
        sum+=a[i];//累加
        if(sum>0)
        maxx=max(sum,maxx);//发现更大的更新
        else sum=0;//如果不大于0,则抛弃
    }
    if(maxx<0) cout<<0<<endl;
    else cout<<maxx<<endl;
    return 0;
}

 

推荐阅读