#OD055. 机房布局

机房布局

题目解析和算法源码

华为OD机试 - 机房布局(Java & JS & Python & C & C++)_伏城之外的博客-CSDN博客

题目描述

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

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

输入描述

cabinets = "MIIM"

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

输出描述

2

表示至少需要2个电箱

备注

  • 1 ≤ strlen(cabinets) ≤ 10000
  • 其中 cabinets[i] = 'M' 或者 'I'

用例1

输入

MIIM

输出

2

用例2

输入

MIM

输出

1

用例3

输入

M

输出

-1

用例4

输入

MMM

输出

-1

用例5

输入

I

输出

0