请问各位大侠 
怎么求一个数组的子数组和的最大值

解决方案 »

  1.   

    说实话这题不值 100 分public static int getMinSumOfSubArray(int[] values) {
    int nStart = values[values.length - 1];
    int nAll = nStart;
    for (int i = values.length - 2; i >= 0; i--) {
    nStart = Math.min(values[i], nStart + values[i]);
    nAll = Math.min(nStart, nAll);
    }
    return nAll;
    }
      

  2.   


    public static int getMaxSumOfSubArray(int[] values) {
    int nStart = values[values.length - 1];
    int nAll = nStart;
    for (int i = values.length - 2; i >= 0; i--) {
    nStart = Math.max(values[i], nStart + values[i]);
    nAll = Math.max(nStart, nAll);
    }
    return nAll;
    }这下可以了
      

  3.   


    public static int maxSubsequenceSub(int a[]){  int maxSum=0;
      int thisSum=0;
     for(int i=0,j=0;j<a.length;j++){
      thisSum+=a[j];
      if(thisSum>maxSum){
        maxSum=thisSum;
        }else if(thisSum<0){
        i=j+1;
    thisSum=0;
    }}
    return maxSum;
    }