题目:
C++代码:
#include <iostream>
using namespace std;
int main()
{
int num, i, sum = 0, max = 0;
int a[100000];
cin >> num;
for (i = 0; i < num; i++)
{
cin >> a[i];
}
//下面这个是核心:
for (i = 0; i < num; i++)
{
sum += a[i];
if (sum > max)
{
max = sum;
}
if (sum < 0)
{
sum = 0;
}
}
cout << max << endl;
return 0;
}
小解析:如果前面是复数,那sum也是复数,令sum=0;如果sum加了一个复数,那它一定比没有加之前的小,那它就不会赋给max。
总结:
记住那个核心,基本没问题。
还有不要吝啬您的赞,这对我写文章真的很重要,同时点赞后,您也可以获得积分!
欢迎关注后面的文章!