华为OD机考:OD统一考试D卷+C卷+A卷+B卷+刷题OJ
真题目录:真题目录(D卷 + C卷 + B卷 + A卷) + 考点说明
必刷专栏:最新2024华为OD机试(Java/JS/Py/C/C++)+ OJ
在线OJ :点击立即刷题,模拟真实机考环境
华为OD面试真题精选:华为OD面试真题精选
题目描述
小明正在规划一个大型数据中心机房,为了使得机柜上的机器都能正常满负荷工作,需要确保在每个机柜边上至少要有一个电箱。
为了简化题目,假设这个机房是一整排,M表示机柜,I表示间隔,请你返回这整排机柜,至少需要多少个电箱。 如果无解请返回 -1 。
输入描述
无
输出描述
无
用例
输入:
MIIM
输出:
2
题目解析
这道题目的解题思路如下:
- 遍历整个字符串,查找机柜(‘M’)。
- 如果找到机柜,检查其右侧是否有间隔(‘I’)。如果有,将电箱放在右侧,并跳过下一个间隔。
- 如果右侧没有间隔,检查左侧是否有间隔。如果有,将电箱放在左侧。
- 如果左右都没有间隔,说明无法放置电箱,返回 -1。
C++
#include <iostream><