解题思路: 其实就是一个字段最大和的问题
注意事项:
参考代码:
#include <stdio.h>
int a[100002],maxsum[100002];
int max(int a,int b){
if(a>b)
return a;
else
return b;
}
int main(){
int n;
int max1=-100000;
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=1;i<=n;i++){
maxsum[i]=(maxsum[i-1]>0?(maxsum[i-1]+a[i]):a[i]); //比较当前和的大小是否大于0
if(maxsum[i]>max1)
max1=maxsum[i];
}
printf("%d",max1);
return 0;
}
0.0分
3 人评分
最长单词 (C语言代码)浏览:1377 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:900 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:661 |
三角形 (C++代码)递归(存在大量重复计算,容易出现时间超限)浏览:781 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:702 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:863 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:474 |
剪刀石头布 (C++代码)浏览:1713 |
简单的a+b (C语言代码)浏览:512 |
1202题解浏览:629 |