遍历数组
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;
}