华为OD机试 - 机房布局(Java 2024 E卷 100分)

本文详细介绍了华为OD机试中的一道题目,涉及到机房的机柜与电箱布局问题。题目要求在每台机柜边上至少有一个电箱,输入为机柜和间隔的字符串,输出最少所需电箱数。解题思路包括遍历字符串,判断机柜前后是否有间隔以确定电箱数量。提供了解题Java代码及示例输入输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、题目描述

小明正在规划一个大型数据中心机房,为了使得机柜上的机器都能正常满负荷工作,需要确保在每个机柜边上至少要有一个电箱。

为了简化题目,假设这个机房是一整排,M表示机柜,I表示间隔,请你返回这整排机柜,至少需要多少个电箱。 如果无解请返回 -1 。

二、输入描述

cabinets = “MIIM”

其中M表示机柜,I表示间隔。

三、输出描述

2

表示至少需要2个电箱。

补充说明

1<= strlen(cabinets) <= 10000,其中 cabinets[i] = ‘M’ 或者 ‘I’。

四、测试用例

测试用例1

1、输入

MIIM

2、输出

2

3、说明

机柜 index0 只能由右侧 index1 的间隔提供电箱;

机柜 index3 只能由左侧 index2 的间隔提供电箱。

测试用例2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

哪 吒

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

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

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

打赏作者

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

抵扣说明:

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

余额充值