第四周总结
1.题目:
返回一个整数数组中最大数组的和
2.要求:
(1)输入一个整数数组,数组里有正数也有负数。
(2)数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
(3)求所有子数组的和的最大值。有球时间复杂度为O(n)。
import java.util.Scanner;
public class test02 {
public static void main(String[] args) {
int max=0,number=0,result=0;
Scanner in=new Scanner(System.in);
System.out.print("请输入需要的数组长度:");
number=in.nextInt();
int a[]=new int [number];
System.out.println("请输入一个长度为"+number+"的数组(输入范围:自然数):");
for(int i=0;i<number;i++)
{
a[i]=in.nextInt();
}
max=a[0];
for(int i=0;i<number;i++)
{
result=result+a[i];
if(result>max)
{
max=result;
}
if(result<0)
{
result=0;
}
}
System.out.println("该数组中相邻的元素所组成的子集的和中,最大值为:"+max);
}
}

浙公网安备 33010602011771号