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

连续子数组最大和

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

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int arr[n];
    for (int i = 0; i < n; i++) {
        cin >> arr[i];
    }
    int res = arr[0];
    for (int i = 1; i < n; i++) {
      // 相当于如果前面的数比0小,那么就只按照当前值计算,并记录下来在这之前连续子数组的最大和
        arr[i] += max(arr[i - 1], 0);
        res = max(res, arr[i]);
    }
    cout << res << endl;
    return 0;
}
全部评论

相关推荐

少年郎as:这不把公司名贴出来那我可要喷你了哦
点赞 评论 收藏
分享
10-15 10:23
门头沟学院 Java
牛可乐的头像真牛:赶紧举报,这公司绝对是诈骗的,等你签约后工作一两个月后根据合同漏洞把你开除,并且要求你赔偿3w培训费,996是为了提前筛选心甘情愿签下合同容易受骗的群体,纯粹面向校招生精心设计的骗局
你见过哪些工贼行为
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务