#include<iostream> #include<assert.h> using namespace std; int maxSum(int* a, int n) { assert(a != NULL && n >= 1); int maxSum = a[0]; int currentSum = a[0]; for(int i = 0; i < n; i++) { if(currentSum <= 0) currentSum = a[i]; else currentSum += a[i]; if(currentSum > maxSum) maxSum = currentSum; } return maxSum; } int main() { int a[] = {1, 2, 3, 10, -20, -100, 4, 20}; cout<< maxSum(a, 8)<<endl; int b[] = {-1, -2, -3}; cout<< maxSum(b, 3)<<endl; int c[] = {-1, 2, 3, -5, 6, -6, 7, 1, - 10, 3}; cout<< maxSum(c, 10)<<endl; return 0; }
数组最大连续子数组和
原创
©著作权归作者所有:来自51CTO博客作者lin1988136的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:我的友情链接
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Java 中数组的使用(一维数组和二维数组)
本文详细的介绍了,在Java 中数组的使用,并对其内存存在形式进行了详细的分析。
数组 一维数组 二维数组 java基础 -
创建一个整形数组,完成对数组的的操作。
C语言yyds
数组 i++ #include 干货满满 -
【C语言】编写冒泡排序,排序一个整形数组。
编写冒泡排序,排序一个整形数组。
编写冒泡排序 排序一个整形数组。