您的位置:首页 > 其它

剑指off-求数组最大连续和

2015-07-20 21:25 337 查看
题目:求数组最大连续和,比如
1,-2,3,10,-4,7,2,-5
结果应该为18
3,10,-4,7,2
分析:这和之前的数组某个值个数大于一半的处理办法是一样的,如果加上当前的值小于0了,这个是稳亏的,那么重新开始,now置0,most是用来记录曾经出现过的最大值,如果now大于most,那么most=now
int Most(int arr[],int length)
{
if (length<=0 || arr==NULL) {
return 0;
}
int now=0;
int most=0;//用来记录曾经出现过的最大值
for (int i=0; i<length; i++) {
now=now+arr[i];
if (now<0) {
now=0;
}
if (now>most) {
most=now;//更新
}
}

return most;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: