矩陣中最大的二維矩陣

brucehb發表於2017-03-15
求一個矩陣中最大的二維矩陣(元素和最大).如:
1 2 0 3 4
2 3 4 5 1
1 1 5 3 0
中最大的是:
4 5
5 3
作者: 天才小喵
連結:http://www.imooc.com/article/4313
來源:慕課網
求一個矩陣中最大的二維矩陣(元素和最大).如:
1 2 0 3 4
2 3 4 5 1
1 1 5 3 0
中最大的是:
4 5
5 3
作者: 天才小喵
連結:http://www.imooc.com/article/4313
來源:慕課網
求一個矩陣中最大的二維矩陣(元素和最大).如:
1 2 0 3 4
2 3 4 5 1
1 1 5 3 0
中最大的是:
4 5

5 3

int fun(vector<vector<int> > &a)
{
	int m = a.size();
	int n = a[0].size();

	int buf[m][n];
	for (int i = 1; i < m; i++)
	{
		buf[i][1] = a[i-1][0] + a[i-1][1] + a[i][0] + a[i][1];
		for (int j = 2; j < n; j++)
		{
			buf[i][j] = buf[i][j-1] + a[i-1][j] + a[i][j];
		}
	}

	int result = INT_MIN;
	for (int i = 1; i < m; i++)
	{
		if (buf[i][1] > result)
		{
			result = buf[i][1];
		}

		for (int j = 2; j < n; j++)
		{
			int temp = buf[i][j] - buf[i][j-2];
			if (temp > result)
			{
				result = temp;
			}
		}
	}

	return result;
}



相關文章