解法代码:
public int FindGreatestSumOfSubArray(int[] array) {
if( array == null || (array.length==0))
return 0;
int Sum=0;
int biggst=Integer.MIN_VALUE;
for(int i=0;i<array.length;i++)
{
if(Sum<=0)
{
Sum=array[i];
}else{
Sum=array[i]+Sum;
}
if(biggst<Sum)
biggst=Sum;
}
return biggst;
}
编程中的错误1)null不要误写为Null
2).length()是字符串的方法 而数组的方法是 .length
3) 对Sum和biggst应当初始化,但biggst不应当初始化为零。否则负数输入{-2,-8,-1,-5,-9},就会输出最大子数组和为0,错误。故:int biggst=Integer.MIN_VALUE;