遍历数组
value存储当前累加值
--当value<0,舍弃置value = 0;
--value>0,继续向后加
max存储整个遍历过程中的最大值,当value>max时才对max的值更新(max = value)
/**
*
* @param array int整型一维数组
* @param arrayLen int array数组长度
* @return int整型
*/
int FindGreatestSumOfSubArray(int* array, int arrayLen ) {
// write code here
int *p = array;
int max, value = 0;
max = *p;
for( ; arrayLen > 0; --arrayLen )
{
value += *p;
if ( value > max )
max = value;
if ( value < 0 )
value = 0;
p++;
}
return max;
}