我需要在c ++中编写递归函数,在2d数组中找到最大区域的数字'1',只包含1或0.
例:
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, },
};
Run Code Online (Sandbox Code Playgroud)
可视化示例:http://s23.postimg.org/yabwp6h23/find_largest.png
该阵列的最大区域为12,第二大区域为3,第三大区域为2.
我想用洪水填充算法做类似的事情,但是无法弄清楚如何.