与负数相加的结果一定小于本身
连续子数组的最大和
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; }