हम एक पैरेंस ग्रुप को ओपन परन कहते हैं (, इसके मैचिंग क्लोज पेरेन )और उनके अंदर सब कुछ।
एक 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]। यह इनपुट को वर्ण कोड में बदलने और फिर घटाना की आवश्यकता को हटा देगा।
