结对项目1

 一·设计思想
对于一个数A,若是A的左边累计数非负,那么加上A能使得值不小于A,认为累计值对整体和是有贡献的。如果前几项累计值负数,则认为有害于总和,curSum记录当前值。此时,若和大于maxSum,则用maxSum记录下来

二·出现的问题

当数组里面全部为负数时,结果总是为0

三·可能的解决方案

重新构造vector

四·源代码

#include <iostream>
#include <vector>
using namespace std;

int main()
{
int n;
cin >> n;
if(n < 1 || n > 100000)
return false;
vector<int> vec;
int temp;
while(n--)
{
cin>>temp;
vec.push_back(temp);
}
if(n == 1)
{
cout << vec[0];
return 0;
}
int maxSum = vec[0];
int Sum = vec[0];
for(int i = 1; i < vec.size(); i++)
{
if(Sum < 0)
Sum = vec[i];
else
{
Sum += vec[i];
}
if(Sum > maxSum)
maxSum = Sum;
}
cout << maxSum <<endl;
return 0;
}



五·结果截图

 

 
 


 

六·总结 
功能能实现;当元素超过10000时会出现false;
psp0
时间记录日志

项目缺陷总结

七.实现过程

 

 
posted on 2018-10-14 16:29  tuLIWEN  阅读(98)  评论(0编辑  收藏  举报