返回整数组中最大子数组的和
设计思路:先规定10个数,依次进行求和,如果得到的总和是正数,则与之前的数比较大小,得到一个最大值保留下来,如果总和是负数,则把之前的最大值放到另一个数组中,并且把总和归零,在下一位重新进行相加。
源代码:
public class Zishuzu { public static void main(String[] args) { // TODO Auto-generated method stub int max; int sum=0; int a[] = {8,9,-20,0,3,-5,7,0,-0,0}; int b[] = new int [10]; int mark=0; max = a[0]; for(int i=0; i<10; i++) { sum = sum + a[i]; if(sum>=0) { if(max<=sum) { max = sum; } } if(sum<0) { sum = 0; mark+=1; } } for(int i=0; i<mark;i++) { if(max < b[i]) { max = b[i]; } } System.out.println("最大值 是:"+max); } }
结果截图: