首页 > 代码库 > 求二维数组中子数组和中最大的值,及子数组

求二维数组中子数组和中最大的值,及子数组

求二维数组中子数组和中最大的值,及子数组

个人信息:就读于燕大本科软件工程专业 目前大三;

本人博客:google搜索“cqs_2012”即可;

个人爱好:酷爱数据结构和算法,希望将来从事算法工作为人民作出自己的贡献;

编程语言:C++ ;

编程坏境:Windows 7 专业版 x64;

编程工具:vs2008;

制图工具:office 2010 powerpoint;

硬件信息:7G-3 笔记本;

真言

每次着急写程序,碰到问题就头疼,头疼之后便是满满的收获,付出总有回报。

题目

求二维数组中子数组和中最大的值,及子数组

方案

我们已经做过一维数组的问题。如果你没有看过一维数组的问题,请戳  求子数组之和最大值

二维数组是一维数组的数组,这样理解起来,我们就不费事了

我的算法是先将压缩列,即每一列的和作为新数组的元素来组成新的数组来简化问题,然后就变成一维数组求最大子数组问题了

具体算法设计用C++表示如下

// 求出二维数组的最大子二维数组
	int Array::Max_Sum_Sub_Double_Array(int **data,const unsigned int row,const unsigned int column)
	{
	// 异常输入
		if(data =http://www.mamicode.com/= NULL || row == 0 || column == 0)>