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

连续子数组最大和

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

#include<stdio.h>
#include<string.h>
//就老老实实的写,求稳,有精力再优化
long long max(long long a,long long b)
{
    return a>b?a:b;
}
int main()
{
    int n;
    
    while(scanf("%d",&n)!=EOF)
    {
        long long ret[200001]={0};
        long long dp[200001];
        long long sum=-1e9;
        for(int i=1;i<=n;i++)
        {
            scanf("%lld ",&ret[i]);
        }
        dp[0]=-1e9;
        for(int i=1;i<=n;i++)
        {
            dp[i]=max(dp[i-1]+ret[i],ret[i]);
            sum=max(sum,dp[i]);
        }
        printf("%lld",sum);
    }
    return 0;
}
全部评论

相关推荐

02-26 15:33
已编辑
西北大学 golang
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务