华为OD机试真题-查找单入口空闲区域【2023.Q1】

题目描述

给定一个 m xn 的矩阵,由若干字符 和0构成,X表示该处已被占据,0"表示该处空闲,请找到最大的单入口空闲区域.
解释:
空闲区域是由连通的O组成的区域,位于边界的0可以构成入口,单入口空闲区域即有目只有一个位于边界的0作为入口的由连通的’O"组成的区域。
如果两个元素在水平或垂直方向相邻,则称它们是“连通”的。
输入描述:
第一行输入为两个数字,第一个数字为行数m,第二个数字列数n,两个数字以空格分隔,1 <= m,n <= 200,剩余各行为矩阵各行元素,元素为’X’ 或O,各元素间以空格分隔。
输出描述
若有唯一符合要求的最大单入口空闲区域,输出三个数字,第一个数字为入口行坐标(范围为0-行数-1),第二个数字为入口列坐标(范围为0~列数-1) ,第三个数字为区域大小,三个数字以空格分隔;若有多个符合要求的最大单入口空闲区域,输出一个数字,代表区域的大小;若没有,输出NULL。
示例1
输入:
4 4
X X X X
X O O X
X O O X
X O X X
输出:
3 15
说明:
存在最大单入口区域,入口行坐标3,列坐标1,区域大小5

示例2
输入:
4 5
X X X X X
O O O O X
X O O O X
X O X X O

你可能感兴趣的:(Python,JS),java,开发语言,华为,算法,面试)