我需要在c++中编写递归函数,在只包含1或0的2d数组中找到数字“1”的最大区域。
示例:
int Arr[5][8] =
{
{ 0, 0, 0, 0, 1, 1, 0, 0, },
{ 1, 0, 0, 1, 1, 1, 0, 0, },
{ 1, 1, 0, 1, 0, 1, 1, 0, },
{ 0, 0, 0, 1, 1, 1, 1, 0, },
{ 0, 1, 1, 0, 0, 0, 0, 0, },
};
可视化示例:
这个数组的最大面积是12,第二大面积是3,第三大面积是2。
我正在考虑用类似于泛洪填充算法的方法来做这件事,但就是想不出怎么做。