06返回一个数组中最大和

设计思想:

  设数组长maxLength;

  设子数组大小(length),依次为1,2,3,4,5........maxLength,并求每一个子数组的和

  比较子数组和大小,求最大子数组和;

源代码:

import java.util.Vector;

public class MaxListNumber {
 public static int maxList(int []num) {
  int max=-99;
  if(num.length<=0) {
   System.out.println("数组为空。");
  }
  else {
  Vector<Integer> numx=new Vector<>();
  for(int i=1;i<num.length;i++) {
   System.out.println("数组元素:"+num[i]);
   for(int j=0;j<num.length;j++) {
    int count=j;
    int sum=0;
    while(count-j<i&&count<num.length) {
     sum=sum+num[count];
     count++;
    }
    numx.add(sum);
   }
  }
  max=numx.get(0);
  for(int i=0;i<numx.size();i++) {
   
   if(max<numx.get(i)) {
    max=numx.get(i);
   }
  }
  }
  return max;
 }
 public static void main(String args[]) {
  int number[]=new int[10];
  for(int i=0;i<10;i++) {
   number[i]=(int) (Math.random()*10-5);
  }
  int max=maxList(number);
  System.out.println("最大子数组的和:"+max);
 }
}

原文地址:https://www.cnblogs.com/liushiqiang123/p/8349775.html