挑战
给定形状的图形输入,确定其中有多少个孔。
不重复
该问题被标记为Count Islands可能重复。我认为这一挑战与Count Island挑战不同,因为在这一挑战中,您必须弄清楚如何消除接触边界的障碍物。
输入项
输入将以2D输入形式给出,即多行字符串,字符串数组或字符数组数组。这代表形状。保证形状只有一件,通过边缘连接。请指定您希望如何输入。
输出量
输出是一个单个整数,说明形状中有多少个孔。尾随换行符是允许的,但不允许其他前导或尾随空格。换句话说,输出必须匹配正则表达式^\d+\n?$
。
什么是孔?
这些是单孔:
####
# #
# #
####
####
# #
# ##
###
#####
# # #
# #
#####
这些不是漏洞:
########
########
# ####
# ####
# ######
#
########
###
#
###
##########
#
# ########
# # #
# # #### #
# # ## #
# ###### #
# #
##########
几乎可以说,如果间隙连接到外部边缘,则它不是孔。
测试用例
#####
# # # -> 2
#####
#####
#
# ### -> 1
# # #
#####
####
## # -> 1 (things are connected by edges)
# ##
####
###
### -> 0 (You must handle shapes with no holes, but input will always contain at least one filled space)
###
您可以使用任何字符代替“#”和空格。
客观评分标准
分数以程序中的字节数给出。
获奖
获胜者将是4月4日之前得分最低的作品。
###|# #|##
为测试用例吗?应该是0
吧?