题目:返回一个整数数组中最大子数组的和。
一、设计思路
按顺序定义子数组的和,如果为负,则选下一位数为子数组的和,反之则两个相加为子数组的和。
二、源代码
package test;
import java.util.*;
public class Array
{
public static void main(String args[])
{
Scanner input = new Scanner(System.in);//定义并输入数组长度
System.out.println("请输入数组长度:");
int length = input.nextInt();
int array[] = new int[length]; //定义并输入数组
System.out.println("请输入数组:");
for(int i=0;i<length;i++)
{
array[i] = input.nextInt();
}
int max = 0; //定义并初始化参数
int sum = 0;
for(int i=0;i<length;i++)//判断条件
{
if(sum<=0)
{
sum = array[i];
}
else
{
sum += array[i];
}
if(sum>max)
{
max = sum;
}
}
System.out.println("子数组的和的最大值为:"+max);
}
}
三、结果截图
四、总结
设计思路总体还算清晰,可是代码的实现还存在些许困难,需要同学的帮助之下才能完成,编程能力上有很大的欠缺,需要多下功夫,我会努力的。