Fork me on GitHub

最大子列和问题

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

题目:

算法复杂度才(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;
}

 

posted @ 2019-04-15 20:25  &#127808;&#127808;&#127808;  阅读(161)  评论(0编辑  收藏  举报
🍀 🍀 🍀 🍀 🍀 🍀 🍀 🍀 🍀 🍀 🍀 🍀 🍀 🍀 🍀 🍀 🍀 🍀 🍀 🍀