Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में जांचें कि एक्सप्रेशन में डुप्लिकेट पैरेंथेसिस हैं या नहीं


मान लीजिए हमारे पास एक एक्सप्रेशन exp है, और हमें जांचना है कि exp के चारों ओर डुप्लिकेट पैरेंथेसिस का सेट है या नहीं। एक एक्सप्रेशन में डुप्लिकेट पैरेंथेसिस होंगे यदि एक सब-एक्सप्रेशन एक से अधिक पैरेंथेसिस सेट से घिरा होगा। उदाहरण के लिए, यदि एक्सप्रेशन है जैसे -

(5+((7-3)))

यहां सब-एक्सप्रेशन (7 - 3) दो पैरेंथेसिस जोड़ी से घिरा हुआ है, तो ये डुप्लिकेट पैरेंथेसिस हैं।

इस समस्या को हल करने के लिए, हम स्टैक्स का उपयोग करेंगे। हम exp में प्रत्येक कैरेक्टर के माध्यम से इटरेट करेंगे, और यदि कैरेक्टर ओपनिंग पैरेंथेसिस '(', या कोई ऑपरेटर या ऑपरेंड है, तो इसे स्टैक में पुश करें। जब कैरेक्टर क्लोजिंग पैरेंथेसिस है, तो स्टैक से कैरेक्टर्स को बार-बार पॉप करें जब तक कि मिलान करने वाला ओपनिंग पैरेंथेसिस न मिल जाए, और एक काउंटर का उपयोग किया जाता है, जिसका मान ओपनिंग और क्लोजिंग पैरेंथेसिस जोड़ी के बीच मिले प्रत्येक कैरेक्टर के लिए बढ़ाया जाएगा। जिसका मान काउंटर के मान के बराबर है, 1 से कम है, तो डुप्लिकेट पैरेंथेसिस की जोड़ी मिली है, अन्यथा नहीं मिली।

उदाहरण

#include 
#include 
using namespace std;

bool hasDuplicateParentheses(string str) {
    stack stk;
    for (int i = 0; i

आउटपुट

Duplicate parentheses has Found

  1. C++ में जांचें कि पेज को कोण द्वारा घुमाना संभव है या नहीं C++ में जांचें कि पेज को कोण द्वारा घुमाना संभव है या नहीं

    इस समस्या में, हमें एक पेज पर स्थित तीन बिंदुओं के निर्देशांक दिए गए हैं। हमारा कार्य जांचना है कि पेज को कोण द्वारा घुमाना संभव है या नहीं। पेज का घुमाव इस तरह किया जाता है कि x की नई स्थिति y की पुरानी स्थिति है, y की नई स्थिति z की पुरानी स्थिति है। और घुमाव के आधार पर हां या नहीं प्रिंट करें। स

  1. C++ में डुप्लिकेट उपट्री ढूंढना C++ में डुप्लिकेट उपट्री ढूंढना

    मान लीजिए हमारे पास एक बाइनरी ट्री है। हमें सभी डुप्लिकेट उपट्री ढूंढने हैं। इसलिए प्रत्येक प्रकार के डुप्लिकेट उपट्री के लिए, हमें उनमें से किसी एक का रूट नोड लौटाना है। मान लीजिए हमारे पास ऐसा ट्री है: डुप्लिकेट उपट्री हैं: हल का दृष्टिकोण इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:

  1. C++ में सभी डुप्लिकेट सबट्री खोजें C++ में सभी डुप्लिकेट सबट्री खोजें

    मान लीजिए हमारे पास एक बाइनरी ट्री है। हमें यह पता लगाना है कि ट्री में कुछ डुप्लिकेट सबट्री हैं या नहीं। मान लीजिए हमारे पास नीचे जैसा बाइनरी ट्री है: आकार 2 के दो समान सबट्री हैं। प्रत्येक सबट्री में D, BD और BE भी डुप्लिकेट सबट्री हैं। हम इस समस्या को ट्री सीरियलाइज़ेशन और हैशिंग प्रक्रिया का उ