您应该编写一个程序或函数,以给定的俄罗斯方块块列表作为输入输出,或者返回可以连接的相同高度级别的两点之间的最大间隙。
俄罗斯方块的7种类型如下:
我们将分别用字母I,J,L,O,S,T和Z指代它们的形状。您可以旋转棋子,但不能像俄罗斯方块游戏中那样镜像它们。
我们的任务是从给定的零件中创建一个正交连接的区域(与侧面相连的侧面)。该区域应连接(也正交)两个高度相同的单元正方形。我们应该在可以桥接的两个正方形之间找到最大的差距。
详细的例子
用L片我们可以连接3个间隙
L
XLLLX
用S片我们可以连接2的间隙
SS
XSSX
对于S,S,O,我们可以连接7的间隙(请注意,我们不能连接8的间隙)
S
XSSOO SSX
SOOSS
输入值
- 一个字符串,表示仅包含大写字母I,J,L,O,S,T和Z的可用片断。每个字母代表完整的俄罗斯方块片断。
- 字母将在字符串中按字母顺序排列。
- 该字符串将至少一个字符长。
输出量
- 单个正整数,与给定件可连接的最大间隙。
例子
输入=>输出
OSS => 7
LS => 5
LZ => 6
ZZZZ => 10
LLSSS => 14
IIJSSSTTZ => 28
IISSSSSS => 24
OOOSSSSSSSSSSSSTT => 45
IJLOSTZ => 21
IJLOSTZZZZZZZ => 37
IIJLLLOSTT => 31
IJJJOOSSSTTZ => 35
这是代码高尔夫球,因此最短的条目将获胜。
嗯,我明白了。我一直在看着他们。
—
蒂姆(Tim)