在可变长度的二维数组中找到最大子矩阵

时间:2019-01-04 10:30:36

标签: c++

问:考虑一个二维矩阵,其数字从0到9,且宽度和高度可变。找到边界元素总和最高的正方形子矩阵。此示例仅供您理解

输入:输入矩阵的宽度和高度:6 8
输入矩阵,数字从0到9:

2 0 6 1 2 5     
1 0 5 0 1 3     
3 0 1 2 4 1     
0 1 3 1 1 9     
4 1 0 8 5 2     
0 1 0 1 2 3     
6 5 3 1 0 2     
0 0 1 6 0 4     

输入正方形子矩阵的最大宽度(对于正方形子矩阵,高度和宽度相同):3

输出:由于突出显示的子矩阵的总和最大(仅计算边界元素的总和为2,4,1,9,2,5,8,1),

2 0 6 1 2 5     
1 0 5 0 1 3     
3 0 1 2 4 1     
0 1 3 1 1 9     
4 1 0 8 5 2     
0 1 0 1 2 3     
6 5 3 1 0 2     
0 0 1 6 0 4    

输出应为:

  

2 4 1
  1 1 9
  8 5 2

0 个答案:

没有答案