与负数相加的结果一定小于本身
连续子数组的最大和
http://www.nowcoder.com/questionTerminal/459bd355da1549fa8a49e350bf3df484
当连续之和为负数时,其和第i个数的和一定小于第i个数。此时需要将连续之和更新为第i个数
/**
* 要计算连续子向量的最大和
* @param array 数组
* @return 连续,最大和。
*/
public int FindGreatestSumOfSubArray(int[] array) {
int curSum=0;
int maxVal=Integer.MIN_VALUE;
for(int num:array){
if(curSum<0){
curSum=num;
}else {
curSum+=num;
}
if(curSum>maxVal){
maxVal=curSum;
}
}
return maxVal;
}
