【问题描述】给定一个数组,求数组中某一段元素和的最大值。注意这一段元素是连续的。如[31,-41,59,26,-53,58,97,-93,-23,84],的最大和是187=59+26+(-53)+58+97
【输入形式】第一行输入数组长度N(0<N<=20000)后面N行输入数组元素
【输出形式】输出子数组的最大和
【样例输入】
10
31
-41
59
26
-53
58
97
-93
-23
84
【样例输出】
187
package com;
import java.util.Scanner;
public class First {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
int a[]=new int [n];
for(int i=0;i<n;i++)
{
a[i]=scanner.nextInt();
}
int max=a[0];
int sum=0;
for(int i=0;i<n;i++)
{
sum=a[i];
for(int j=i+1;j<n;j++)
{
sum+=a[j];
if(sum>max)
max=sum;
}
}
System.out.println(max);
}
}