如数组为环型数组,求数组中最大子数组的和。不要求时间复杂度。
如数组为环型数组,求数组中最大子数组的和。不要求时间复杂度。
package text02;
import java.util.Scanner;
public class FindMaxArray {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int length;//定义数组长度length
int n;//定义变化后的数组的长度
System.out.println("请输入数组元素个数");
Scanner sc = new Scanner(System.in);
length=sc.nextInt();
n=2*length;
int[] a = new int[n];
System.out.println("请输入数组中的元素:");
for(int i=0;i<length;i++)
{
a[i] = sc.nextInt();
}
int max=a[0];
int s=0;//定义求和后的元素
for(int i=0;i<length;i++)
{
s=0;
for(int j=i;j<length+i;j++)
{
s=s+a[j];
if(s>max)
{
max=s;
}
}
a[length+i]=a[i]; //每次将已经计算过的数放到最后
}
System.out.println("最大子数组的和为:"+max);
sc.close();
}
}

浙公网安备 33010602011771号