हम एक पैरेंस ग्रुप को ओपन परन कहते हैं (
, इसके मैचिंग क्लोज पेरेन )
और उनके अंदर सब कुछ।
एक Parens Group या string को पैरेंटली बैलेंस कहा जाता है यदि इसमें या तो कुछ भी नहीं होता है या केवल 2 Parenshesly संतुलित Parens Group होते हैं।
उदाहरण के लिए:
The string "(()())()" is parenthesly balanced
( )() Because it contains exactly 2 parenthesly balanced parens groups
()() The left one is parenthesly balanced because it contains 2 parenthesly balanced parens groups (balanced because they are empty). The right one is parenthesly balanced because it contains nothing.
इसी तरह:
The string "(()(()))()" is not parenthesly balanced
( )() Because it contains a parens group that is not parenthesly balanced: the left one
()( ) The left one is not balanced because it contains a parens group that is not balanced: the right one
() The right one is not balanced because it only contains one balanced group.
तो, एक कोष्ठक रूप से संतुलित स्ट्रिंग या समूह समूह होना चाहिए:
- कुछ भी नहीं है।
- या केवल और ठीक 2 पैरेंटली संतुलित पैरेंस समूह होते हैं। इसमें और कुछ नहीं होना चाहिए।
कार्य:
आपका कार्य एक फ़ंक्शन या प्रोग्राम लिखना है जो यह जांचता है कि किसी दिए गए स्ट्रिंग को एक कोष्ठक संतुलित है या नहीं।
इनपुट:
इनपुट एक स्ट्रिंग या पात्रों की सूची या कुछ इसी तरह की होगी। आप मान सकते हैं कि स्ट्रिंग में केवल वर्ण शामिल होंगे '('
और ')'
। आप यह भी मान सकते हैं कि प्रत्येक खुला कोष्ठक (
उससे मेल खाने वाली करीब कोष्ठक होगा )
, इसलिए की तरह तार के बारे में चिंता मत करो "((("
या ")("
या "(())("
...
नोट: के रूप में उसकी टिप्पणी bellow में @DigitalTrauma से उल्लेख किया है, यह subtitute को ठीक है ()
अन्य पात्रों द्वारा कॉम्बो (जैसे <>
, []
, ...), अगर यह कुछ भाषाओं में से बचने की तरह अतिरिक्त कार्य के कारण है
आउटपुट:
संकेत करने के लिए कुछ भी है कि क्या स्ट्रिंग कोष्ठक रूप से संतुलित है या नहीं (सही या गलत, 1 या 0, ...)। कृपया अपने उत्तर में शामिल करें कि आपके कार्य / कार्यक्रम से क्या उम्मीद है।
उदाहरण:
"" => True
"()()" => True
"()(()())" => True
"(()(()(()())))(()())" => True
"(((((((()())())())())())())())()" => True
"()" => False
"()()()" => False
"(())()" => False
"()(()(())())" => False
"(()())(((((()())()))())())" => False
"()(()()()())" => False
"()(()(()())()())" => False
पिछले दो उदाहरणों से वास्तव में फर्क पड़ा!
शुभकामनाएँ!
"(()())()"
रूप में प्रतिनिधित्व किया जाएगा [0, 0, 1, 0, 1, 1, 0, 1]
। यह इनपुट को वर्ण कोड में बदलने और फिर घटाना की आवश्यकता को हटा देगा।