华为OD机试 - 查找单入口空闲区域(Java)

题目描述

给定一个 m x n 的矩阵,由若干字符 ‘X’ 和 ‘O’构成,’X’表示该处已被占据,’O’表示该处空闲,请找到最大的单入口空闲区域。

解释:

空闲区域是由连通的’O’组成的区域,位于边界的’O’可以构成入口,

单入口空闲区域即有且只有一个位于边界的’O’作为入口的由连通的’O’组成的区域。
如果两个元素在水平或垂直方向相邻,则称它们是“连通”的。

输入描述

第一行输入为两个数字,第一个数字为行数m,第二个数字为列数n,两个数字以空格分隔,1<=m,n<=200。

剩余各行为矩阵各行元素,元素为‘X’或‘O’,各元素间以空格分隔。

输出描述

若有唯一符合要求的最大单入口空闲区域,输出三个数字

第一个数字为入口行坐标(0~m-1)
第二个数字为入口列坐标(0~n-1)
第三个数字为区域大小
三个数字以空格分隔;

若有多个符合要求,则输出区域大小最大的,若多个符合要求的单入口区域的区域大小相同,则此时只需要输出区域大小,不需要输出入口坐标。

若没有,输出NULL。

用例

输入 4 4
X X X X
X O O X
X O O X
X O X X
【华为OD机试真题 Java语言】111、 查找单入口空闲区域 | 机试真题+思路参考+代码解析 给定一个m * n 的矩阵,由多个 字符 'X' 和 'O' 构成,'X' 表示该处已被占据, 'O'表示该处空闲,请找到最大的单入口空闲区域。 >  解释: 空闲区域是由连通的'O'组成的区域,位于边界的'O'可以构成入口, 单入口空闲区域即有只有一个位于边界的'O'作为入口的由连通的'O’组成的区域。如果两个元素在水平或垂方向相邻,则称它们是“连通”的 阅读详情

相关推荐

【华为OD机试真题】111、 查找单入口空闲区域 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

题目描述 >给定一个m * n 的矩阵,由多个 字符 'X' 和 'O' 构成,'X' 表示该处已被占据, 'O'表示该处空闲,请找到最大的单入口空闲区域。 >  解释: 空闲区域是由连通的'O'组成的区域,位于边界的'O'可以构成入口, 单入口空闲区域即有只有一个位于边界的'O'作为入口的由连通的'O’组成的区域。如果两个元素在水平或垂方向相邻,则称它们是“连通”的

KJ.JK 1万+

查找单入口空闲区域 — 华为od机试真题(A卷,Java题解)

给定一个 m * n的矩阵,由若干字符' X' 和'0'构成,"X表示该处已被占据,'0"表示该处空闲,请找到最大的单入口空闲区域。解释:空闲区域是由连通的'0"组成的区域,位于边界的"0'可以构成入口,单入口空闲区域即有且只有一个位于边界的"0"作为入口的由连通的'O'组成的区域。如果两个元素在水平或垂直方向相邻,则称它们是“连通”的。

学习,你不是一个人在战斗 ~ 961302305(QQ,微信) 613

【华为OD机试真题】111、 查找单入口空闲区域 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)

给定一个m * n 的矩阵,由多个 字符 'X' 和 'O' 构成,'X' 表示该处已被占据, 'O'表示该处空闲,请找到最大的单入口空闲区域。 >  解释: 空闲区域是由连通的'O'组成的区域,位于边界的'O'可以构成入口, 单入口空闲区域即有只有一个位于边界的'O'作为入口的由连通的'O’组成的区域。如果两个元素在水平或垂方向相邻,则称它们是“连通”的

KJ.JK 1267

华为OD机试详解:使用C++、Java、JavaScript、Python实现查找单入口空闲区域

通过这篇文章,我们详细解析了华为OD机试中查找单入口空闲区域的题目。我们深入探讨了如何使用深度优先搜索(DFS)算法来解决矩阵连通性问题,并分别用C++、Java、JavaScript和Python四种语言实现了该问题的解法。在这类矩阵连通性问题中,DFS是非常有效的工具,能够迅速找到相邻的连通块并统计其大小。通过掌握DFS的核心思想,可以帮助我们应对一系列矩阵遍历和连通性问题。希望这篇文章对您有所帮助!

m0_57781768的博客 275

华为OD机试Java - 查找单入口空闲区域

给定一个 m x n 的矩阵,由若干字符 ‘X’ 和 ‘O’ 构成, ‘X’ 表示该处已经被占据, ‘O’ 表示该处空闲,请找到最大的单入口空闲区域。 解释: 空闲区域是由连通的’O’组成的区域,位于边界的’O’可以构成入口,单入口空闲区域即有且只有一个位于边界的’O’作为入口的由连通的’O’组成的区域。 如果两个元素在水平或垂直方向相邻,则称它们是“连通”的

steven_my的博客 97

【华为OD机试真题】111、 查找单入口空闲区域 | 机试真题+思路参考+代码解析(C++、Java、Py、JS)

题目描述 >给定一个m * n 的矩阵,由多个 字符 'X' 和 'O' 构成,'X' 表示该处已被占据, 'O'表示该处空闲,请找到最大的单入口空闲区域。 >  解释: 空闲区域是由连通的'O'组成的区域,位于边界的'O'可以构成入口, 单入口空闲区域即有只有一个位于边界的'O'作为入口的由连通的'O’组成的区域。如果两个元素在水平或垂方向相邻,则称它们是“连通”的

正在更新最新华为OD机试2025B卷,提供OJ在线刷题 1166

【华为OD机试真题 2025A卷】111、 查找单入口空闲区域 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

【华为OD机试真题 2025A卷】111、 查找单入口空闲区域 | 机试真题+思路参考+代码解析 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,如何备战华为od,华为od算法,华为od手撕

正在更新最新华为OD机试2025B卷,提供OJ在线刷题 198

华为OD机试真题精讲:查找单入口空闲区域(Python/Java/C++多语言实现)

本文讲解华为OD机试高频题「查找单入口空闲区域」的解题思路与多语言实现。题目要求在0/1矩阵中找出仅有一个入口的连通空闲区域,并按特定规则排序输出。核心解题步骤包括:边界遍历筛选入口候选、BFS/DFS查找连通区域、统计入口数量、筛选单入口区域并排序。文章提供Python实现代码,采用BFS算法高效处理大规模数据,通过visited矩阵避免重复访问,时间复杂度O(mn)。示例分析展示了单入口、多入口等典型场景的处理逻辑。

bkspiderx的博客 308

【华为OD机试】查找单入口空闲区域(python, java, c++, js)

给定一个 m x n 的矩阵,由若干字符 ‘X’ 和 ‘O’ 构成, ‘X’ 表示该处已经被占据, ‘O’ 表示该处空闲,请找到最大的单入口空闲区域。 解释: 空闲区域是由连通的’O’组成的区域,位于边界的’O’可以构成入口,单入口空闲区域即有且只有一个位于边界的’O’作为入口的由连通的’O’组成的区域。 如果两个元素在水平或垂直方向相邻,则称它们是“连通”的

A_D_I_D_A_S的博客 126

【华为机考真题】查找单入口空闲区域,JAVA 题解 | 华为OD机试考生(新抽中题)

参加华为 od 机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。若有多个符合要求的最大单入口空闲区域,输出一个数字,代表区域的大小;存在两个大小为 3 的最大单入口区域,两个入口横纵坐标分别为。如果两个元素在水平或垂直方向相邻,则称它们是“连通”的。若有唯一符合要求的最大单入口空闲区域,输出三个数字,表示该处空闲,请找到最大的单入口空闲区域。单入口空闲区域即有且只有一个位于边界的。存在最大单入口区域,入口行坐标。存在最大单入口区域,入口行坐标。组成的区域,位于边界的。

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 1万+

【华为OD机试真题 Java】查找单入口空闲区域

给定一个 m x n 的矩阵,由若干字符 ‘X’ 和 ‘O’ 构成, ‘X’ 表示该处已经被占据, ‘O’ 表示该处空闲,请找到最大的单入口空闲区域。

A_D_I_D_A_S的博客 102

华为OD机试 - 查找单入口空闲区域(Java)

首先,我们可以遍历矩阵元素,当遍历到“O”时,已该“O”的坐标位置开始向其上、下、左、右方向开始深度优先搜索,每搜索到一个“O”,则该空闲区域数量+1,如果搜索到的“O”的坐标位置处于矩阵第一列,或最后一列,或者第一行,或者最后一行,那么该“O”位置就是空闲区域的入口位置,我们将其缓存到out数组中。给定一个 m x n 的矩阵,由若干字符 ‘X’ 和 ‘O’构成,’X’表示该处已被占据,’O’表示该处空闲,请找到最大的单入口空闲区域。空闲区域是由连通的’O’组成的区域,位于边界的’O’可以构成入口,

qq_34143141的博客 258

【华为OD机试】真题A卷-查找单入口空闲区域(JAVA)

【华为OD机试】真题A卷-查找单入口空闲区域(JAVA):给定一个 m xn 的矩阵,由若干字符 和0构成,X表示该处已被占据,0"表示该处空闲,请找到最大的单入口空闲区域.解释: 空闲区域是由连通的O组成的区域,位于边界的0可以构成入口,单入口空闲区域即有目只有一个位于边界的0作为入口的由连通的'O"组成的区域。如果两个元素在水平或垂直方向相邻,则称它们是“连通”的。

u014481728的博客 770

华为OD机试真题Java_2022-2023-题目0180-查找单入口空闲区域

给定一个m×n的矩阵,由若干字符X和O构成,X表示该处已被占据,O表示该处空闲,请找到最大的单入口空闲区域。空闲区域是由连通的O组成的区域,位于边界的O可以构成入口,单入口空闲区域即有且只有一个位于边界的O作为入口的由连通的O组成的区域。如果两个元素在水平或垂直方向相邻,则称它们是“连通”的。

amos_cloud的博客 1381

Unity Shader学习笔记/Urp/水墨风效果

Unity Shader学习

qq_63133691的博客 2117

小程序强制更新避坑指南:手把手教你实现无缝升级

本文详细解析小程序强制更新的实现方法,重点介绍wx.getUpdateManager API的使用技巧,帮助开发者规避冷热启动机制下的版本管理陷阱。通过实战案例展示如何设计多级更新提示策略,确保用户无缝升级,提升小程序版本更新率。

star的博客 280

TSMaster实战:手把手教你用C小程序发送自定义CAN报文(附完整代码)

本文详细解析了如何使用TSMaster的C小程序功能实现自定义CAN报文发送,涵盖环境配置、DBC集成、按键触发等实战技巧。通过完整代码示例和高级调试方法,帮助汽车电子工程师快速掌握TSMaster在CAN总线通信中的灵活应用,提升开发效率。

weixin_29184371的博客 574

LCD、LED、OLED、Mini LED、Micro LED、全阵列LED、QLED、QD-OLED、QNED、AMOLED是什么意思?

LCD(液晶显示器,Liquid Crystal Display)定义:LCD 是一种利用液晶材料控制光线通过的显示技术,需依靠背光源(如冷阴极荧光灯 CCFL 或 LED)照亮液晶层以形成图像。技术原理:液晶分子在电场作用下改变排列,控制背光通过的强度和颜色。液晶本身不发光,需外部光源。特点:结构包括背光层、液晶层、彩色滤光片和偏光片。响应时间较慢,黑色表现因背光漏光而偏灰。LED(发光二极管显示,Light Emitting Diode)定义。

中国最威武的城市!武功军威-武威,铁骨铮铮! 3427

​​10.3 时间敏感网络(TSN)协议适配​

本文探讨了时间敏感网络(TSN)协议在PCIe网络加速卡开发中的适配方案,重点分析了时间同步、流量调度和冗余传输三大核心问题。研究从协议实现、硬件加速设计和驱动优化三个维度展开,提出采用FPGA实现PTP时钟同步、动态TAS调度器以及双路径冗余传输等技术方案。通过工业控制网络案例验证,该方案将端到端延迟从120μs降至8μs,带宽利用率提升至92%,同时实现了100%的确定性保障。研究还总结了调试工具和典型问题解决方法,为TSN在PCIe网络中的实际应用提供了技术参考。

amy_mhd的博客 364

实战优化!C#上位机串口通信卡顿问题:超时机制+数据缓存方案

串口名</param>/// <param name="baudRate">波特率

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1065

从技术债红线到系统治理:透视 SAP Clean Core 中的 Level D

SAP推出的Clean Core分级体系将扩展风险划分为A到D四个等级,其中Level D代表最高风险类别,涉及直接修改标准代码、隐式增强、使用noAPI对象等不被推荐的做法。这些做法虽然短期见效快,但会带来升级冲突、数据完整性风险等长期问题。SAP强调治理重点不是完全消除经典ABAP,而是优先清理Level D对象,逐步向稳定接口迁移。典型案例显示,依赖内部细节的扩展往往在系统升级或云迁移时集中暴露出问题。企业应通过工具链持续监控Level D占比,将其纳入技术债管理范畴。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1064

YOLOv8改进策略【YOLO和Mamba】| 2024 VM-UNet,高效的特征提取模块VSS block 二次创新提高精度

VM-UNet模型设计的出发点是解决现有CNN-based和模型在医学图像分割中的局限性,利用(SSMs)的优势,提出一种更有效的医学图像分割模型。具体来说,CNN-based模型在捕捉长距离信息方面存在不足,而模型由于自注意力机制的二次复杂度导致计算负担较重。SSMs模型如Mamba不仅在建模长距离依赖方面表现出色,还具有线性计算复杂度,这为VM-UNet的设计提供了理论基础。

Limiiiing的博客 622

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: 华为OD机试 - 任务总执行时长(Java)
下一篇: 华为OD机试 - 货币单位换算(Java)
清水乐园
博客等级 码龄13年 175粉丝 398原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清水乐园

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值