/************************************************************************/
/* 求最大子序列的和,时间复杂度Q(N) */
/************************************************************************/
bool g_bInputIsInvalid=false;//判断输入是否合法
int FindGreatestSumOfSubArray(vector<int> array) {
if(array.size()==0){
g_bInputIsInvalid=true;
return 0;
}
vector<int>::const_iterator iter=array.begin();
int nMaxSum=array[0];//这里很关键
int nCurrentSum=0;
for(;iter!=array.end();++iter){
nCurrentSum+=*iter;
if(nCurrentSum>nMaxSum){
nMaxSum=nCurrentSum;
}
else if(nCurrentSum<0){
nCurrentSum=0;
}
}
return nMaxSum;
}