题解 | #连续子数组最大和#

连续子数组最大和

http://www.nowcoder.com/practice/1718131e719746e9a56fb29c40cc8f95

#include<iostream>
using namespace std;
int main()
{
    int   n;
    cin>>n;
    int a[900000];
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    int max(int a[],int n);
    max(a,n);
    cout<<max(a,n);
    return 0;
}
int max(int a[],int n)//在线处理法做这个题目,算法较快。
{
    int maxs=-10000;
    int thism=0;
    for(int i=0;i<n;i++)
    {
        thism=thism+a[i];
        if(thism>maxs)
            maxs=thism;
        if(thism<0)
            thism=0;
    }
    return maxs;
}
全部评论

相关推荐

2 收藏 评论
分享
牛客网
牛客企业服务