#include <stdlib.h>
#include <string.h>
#include <iostream>
#include "oj.h"
using namespace std;
/*
功能:
输入:pIntArray:数组,nCout:数组长度
输出:
返回:返回最大值
*/
int GetSubArraySum(int* pIntArray, int nCount)
{
/*在这里实现功能*/
int sum =pIntArray[0]; //记录最大子数组的和
int temp =0;//记录当前和
for (int i =0 ; i < nCount; ++i)
{
if (temp >=0)
{
temp += pIntArray[i];
}
else//如果当前和为0,则从下一个数重新开始
{
temp = pIntArray[i];
}
if (temp > sum)
{
sum = temp;
}
}
return sum;
}
int main()
{
int aNums[] = {-1,1,-2,2,3};
cout<<GetSubArraySum(aNums, sizeof(aNums)/ sizeof(int))<<endl;
return 0;
}
求子数组的最大和
最新推荐文章于 2021-11-14 11:59:14 发布