返回一个整数数组中最大子数组的和 1

在本次的软件工程课中,课上老师让我们编写程序:返回一个整数数组中最大子数组的和

在编写这个程序时,首先确认了分组的方法,首先题目要求了必须为连续的。

在子数组的分组上我通过在数组中不断增加相邻整数的方法,例如:数组为1、2、3、4、5、6,子数组就为1,1、2,1、2、3,1、2、3、4等,

建立二维数组进行各个子数组进行储存

		Scanner sc=new Scanner(System.in);
		System.out.println("数组长度:");
		int number=sc.nextInt();
		 int array[]=new int[number];
	    System.out.println("输入数组:");
		for(int i=0;i<number;i++) {
			array[i]=sc.nextInt();
		}
		 int array1[][]=new int[number][number];
		for(int i=0;i<number;i++) 
			for(int j=0;j<=i;j++)
			array1[i][j]=array[j];

  通过二维数组每行代表每个子数组,之后对每行数字进行相加总和计算出最大子数组。

在编写此此程序时,对于出现了数组越界的问题,而且这个程序中对子数组的分配上上有问题,通过了解有其他确立分组方式,会对此程序进行改进。

猜你喜欢

转载自www.cnblogs.com/NCLONG/p/10506070.html