标签:
package com.java.lianxi; import java.util.*; public class lianxi3 { public static void main(String[] args) { int num,i,sum=0; Scanner cin=new Scanner(System.in); System.out.print("请输入数组的长度:"); num=cin.nextInt(); int array[]=new int[num]; for(i=0;i<num;i++) { array[i]=cin.nextInt(); } int max=array[0]; for(i=0;i<num;i++) { if(sum<=0) { sum=array[i]; } else { sum=sum+array[i]; } if(sum>max) { max=sum; } } System.out.println("子数组和的最大值为:"+max); } }
max赋值为数组第一个元素
sum初始为0
sum然后依次累加,累加一次,就与max比较一次,
如果sum累加值小于0,则不继续累加,当前元素则赋值给sum,sum则继续。。。
直到循环结束。
则,max为最大的子数组之和
成员:王雪青 陆宇
标签:
原文地址:http://www.cnblogs.com/maximumminimum/p/4351761.html