解题思路:
当前子列每次自加一个,判断是否比最大子序列大,最大子序列更新,如果最大子序列小于零,则当前序列更新为0
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int N;
int a[100000],i;
scanf("%d",&N);
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
int thisSum=0,MaxSum=0;
for(i=0;i<N;i++)
{
thisSum+=a[i];
if(thisSum>MaxSum)
MaxSum=thisSum;
else if(thisSum<0)
thisSum=0;
}
printf("%d",MaxSum);
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:569 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:641 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:690 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:466 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:583 |
1113题解浏览:823 |
字符串的输入输出处理 (C语言代码)浏览:1085 |
老王赛马 (C++代码)浏览:973 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:622 |
删除数组中的0元素 (C语言代码)浏览:2146 |