假定只有一行,那就和求最大和子数组一样
如果限定两行,可以把两行按列求和,同上
所以我们以第一行当做起点,依次累加后面的每一行后,都求一个最大子数组和
以第二行作为起点,依次累加后面的每一行后,都求一个最大子数组和
每次求出来的和与历史最大值比较,如果更大,则更新
N^3时间复杂度
#include <iostream>
#include <cstring>
using namespace std;
#define MAX 10
int sums[MAX];//按列求和
int maxSum(int matrix[MAX][MAX], int M, int N) //M行 N列
{
int findByDp(int *arr,int len);
int beginRow = 0;//以它为起始行
int ma