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

C++ में जांचें कि स्ट्रिंग रिकर्सिवली सबस्ट्रिंग हटाकर खाली हो सकती है या नहीं


मान लीजिए, हमें दो स्ट्रिंग्स दी गई हैं, str1 और str2। str2, str1 का एक सबस्ट्रिंग है, और हम str1 से str2 को हटा सकते हैं। यह संभव है कि स्ट्रिंग str2, str1 में कई बार दिखाई दे। हमारा लक्ष्य यहां यह पता लगाना है कि क्या str1 एक नल स्ट्रिंग बन जाती है यदि हम str2 को str1 से कई बार हटाते रहें। यदि संभव है तो हम 1 वापस करते हैं, अन्यथा 0।

इसलिए, यदि इनपुट str1 = "CCCPPPPPP", str2 = "CPP" है; तो आउटपुट सत्य होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:

  • जब तक str1 का आकार > 0, करें:
    • index := str1 में str2 की शुरुआती स्थिति लौटाएं
    • यदि index -1 के समान है, तो: लूप से बाहर आएं
    • str1 से str2 हटाएं
  • यदि str1 का आकार 0 के समान है तो 1 वापस करें, अन्यथा 0।

उदाहरण (C++)

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

#include <bits/stdc++.h> 
using namespace std; 

bool solve(string str1, string str2) { 
    while (str1.size() > 0) { 
        int index = str1.find(str2); 
        if (index == -1) 
            break; 
        str1.erase(index, str2.size()); 
    } 
    return (str1.size() == 0); 
} 

int main() { 
    string str1 = "CCCPPPPPP", str2 = "CPP"; 
    cout << solve(str1, str2) << endl; 
    return 0; 
}

इनपुट

"CCCPPPPPP", "CPP"

आउटपुट

1

  1. - C++ में जांचें कि क्या स्ट्रिंग में सब-स्ट्रिंग है

    यहां हम देखेंगे कि C++ में स्ट्रिंग लाइब्रेरी फंक्शन्स का उपयोग करके स्ट्रिंग्स को कैसे मैच करें। यहां हम सबस्ट्रिंग की घटनाओं को मुख्य स्ट्रिंग में प्राप्त करने के लिए find() ऑपरेशन का उपयोग कर रहे हैं। यह find() मेथड पहली लोकेशन लौटाता है जहां स्ट्रिंग मिली है। यहां हम सभी मैच प्राप्त करने के लिए

  1. - पायथन में जांचें कि कोई स्ट्रिंग दिए गए सबस्ट्रिंग को बार-बार हटाकर खाली हो सकती है या नहीं

    मान लीजिए हमारे पास दो स्ट्रिंग्स s और t हैं। हम t को s से कितनी भी बार हटा सकते हैं। और t एक समय में केवल एक बार प्रकट होता है। हमें यह जांचना है कि क्या s को t को आवश्यकतानुसार बार-बार हटाकर खाली बनाया जा सकता है। उदाहरण के लिए, यदि इनपुट s = pipipinnn, t = pin है, तो आउटपुट True होगा क्योंकि हम

  1. - पायथन में स्ट्रिंग स्लाइसिंग से जांचें कि क्या पुनरावर्ती हटाने से स्ट्रिंग खाली हो सकती है

    इस ट्यूटोरियल में, हम एक प्रोग्राम लिखेंगे जो जांच करेगा कि क्या दी गई स्ट्रिंग स्लाइस का उपयोग करके वर्णों के पुनरावर्ती हटाने से खाली हो सकती है या नहीं। आइए एक उदाहरण देखें ताकि इसे अधिक स्पष्ट रूप से समझा जा सके।इनपुटstring = tutorialstutorialspointpoint sub_string = tutorialspointआउटपुटTrueपहली