打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
连续最大和

题目描述

一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3

输入描述:

输入为两行。 第一行一个整数n(1 <= n <= 100000),表示一共有n个元素 第二行为n个数,即每个元素,每个整数都在32位int范围内。以空格分隔。

输出描述:

所有连续子数组中和最大的值。
示例1

输入

复制
3 -1 2 1

输出

复制
3
//////////////////////////////////////////////////////
自己失败
////////////////////////////////////////////////////


////////////////////////////////
别人的
///////////////////////////////////////////
#include<iostream>
using namespace std;
int main()
{
int n;
int *p = new int[n];
for (int i = 0; i < n; i++)
{
cin >> p[i];
}
int sum = 0;
int maxSum = -1e5;
for (int i = 0; i < n; i++)
{
sum += p[i];
if (sum > maxSum) maxSum = sum;
if (sum < 0) sum = 0;

}
cout << "MaxSum: " << maxSum << endl;
delete[]p;
system("pause");
return 0;
}
////////////////////////


1
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
53 LeetCode :: Maximum Subarray 详细分析
编程之美:求数组的子数组之和的最大值
算法51(n个骰子的点数)
数组的连续最大子段和
leetcode 数组 (python)
Google 笔试题。
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服