在虚构的2D世界中,一组对象的2D打印指令可以用整数列表表示,如下所示:
1 4 2 1 1 2 5 3 4
每个数字代表对象在该特定点的高度。上面的列表在打印时转换为以下对象:
#
# # #
# ###
## ####
#########
然后,我们向其中填充尽可能多的水,结果是:
#
#~~~~#~#
#~~~~###
##~~####
#########
我们将物体的容量定义为物体完全充满时可以容纳的水的单位。在这种情况下,为11。
严格说来,~
当且仅当水单元(#
)被同一行中的两个实心块()包围时,它才能在该位置存在。
挑战
以正整数列表作为输入(任何格式),并输出将列表用作指令时打印的对象的容量。
您可以假定列表至少包含一个元素,并且所有元素都在1到255之间。
测试用例
+-----------------+--------+
| Input | Output |
+-----------------+--------+
| 1 | 0 |
| 1 3 255 1 | 0 |
| 6 2 1 1 2 6 | 18 |
| 2 1 3 1 5 1 7 1 | 7 |
| 2 1 3 1 7 1 7 1 | 9 |
| 5 2 1 3 1 2 5 | 16 |
| 80 80 67 71 | 4 |
+-----------------+--------+