题目:返回一个整数数组中最大子数组的和。
要求:
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。要求时间复杂度为O(n)
合作伙伴:孟西鑫
设计思路:
本来我和我的小伙伴打算用分情况的方法来处理这个问题,就是根据数组中各个子数组中正负数的位置进行讨论,不过这样情况也是特别多,用到很多循环。不过幸亏老师在上课时让同学讲了讲关于动态规划的知识给了我们启发。
#include
using namespace std;
int main()
{
int Array[100];
int max(int A,int B);
int i, length = 0;//用来记录数组长
int sumOfArray;//sumOfArray用于存放包含目前的子数组的和的最大值
int sum = 0;//sum用来存放不包含当前数的所有子数组的和的最大值
cout > Array[length];
length++;
i服务器托管网f (getchar() == 'n')
{
break;
}
}
sumOfArray = Array[0];
for (i = 1; i B)
{
return A;
}
else
{
return B;
}
}
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://w服务器托管网ww.fwqtg.net
相关推荐: 高效开发与设计:提效Spring应用的运行效率和生产力 | 京东云技术团队
从数据到大模型应用,11 月 25 日,杭州源创会,共享开发小技巧 引言 现状和背景 Spring框架是广泛使用的Java开发框架之一,它提供了强大的功能和灵活性,但在大型应用中,由于Spring框架的复杂性和依赖关系,应用的启动时间和性能可能会受到影响。这可…