चुनौती
किसी आकृति के चित्रमय इनपुट को देखते हुए, निर्धारित करें कि उसमें कितने छेद हैं।
डुप्लिकेट नहीं
यह सवाल काउंट आइलैंड्स के संभावित डुप्लिकेट के रूप में चिह्नित किया गया था । मेरा मानना है कि यह चुनौती काउंट आइलैंड चुनौती से अलग है क्योंकि इस एक में, आपको यह पता लगाना होगा कि सीमा को छूने वाले ब्लॉकों को कैसे खत्म किया जाए।
इनपुट
इनपुट को कुछ 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 अप्रैल तक सबसे कम स्कोर के साथ जमा होगा।
###|# #|##
परीक्षण के मामले के रूप में जोड़ सकते हैं ? यह 0
सही होना चाहिए ?