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

C++ में बाइनरी स्ट्रिंग से सबस्ट्रिंग 010 को हटाने के लिए न्यूनतम चरण


समस्या कथन

एक बाइनरी स्ट्रिंग दी गई है, कार्य इस बाइनरी स्ट्रिंग से सबस्ट्रिंग 010 को हटाने के लिए न्यूनतम चरणों की गणना करना है

उदाहरण

यदि इनपुट स्ट्रिंग 010010 है तो 2 चरण आवश्यक हैं

  • पहले 0 को 1 में बदलें। अब स्ट्रिंग 110010 हो जाती है
  • अंतिम 0 को 1 में बदलें। अब अंतिम स्ट्रिंग 110011 हो जाती है

एल्गोरिदम

1. इंडेक्स 0 से n-2 तक स्ट्रिंग पर पुनरावृति करें 2. यदि बाइनरी स्ट्रिंग में लगातार तीन वर्ण '0', '1', '0' हैं तो किसी एक वर्ण को बदला जा सकता है लूप काउंटर को 2 से बढ़ाएं

उदाहरण

#include <bits/stdc++.h> using namespace std; int getMinSteps(string str) {    int cnt = 0;    for (int i = 0; i < str.length() - 2; ++i) {       if (str[i] == '0' && str[i + 1] == '1' && str[i+ 2] == '0') {          ++cnt;          i += 2;       }    }    return cnt; } int main() {    string str = "010010";    cout << "न्यूनतम आवश्यक चरण = " << getMinSteps(str)    << endl;    return 0; }

जब आप उपरोक्त प्रोग्राम को संकलित और निष्पादित करते हैं। यह निम्नलिखित आउटपुट उत्पन्न करता है

आउटपुट

न्यूनतम आवश्यक चरण = 2

  1. स्ट्रिंग से बाइनरी ट्री का निर्माण C++ में स्ट्रिंग से बाइनरी ट्री का निर्माण C++ में

    मान लीजिए हमारे पास एक स्ट्रिंग है जिसमें पैरेंथेसिस और पूर्णांक हैं। हमें उस स्ट्रिंग से एक बाइनरी ट्री का निर्माण करना है। पूरा इनपुट एक बाइनरी ट्री को दर्शाता है। इसमें एक पूर्णांक होता है जिसके बाद शून्य, एक या दो जोड़े पैरेंथेसिस होते हैं। पूर्णांक रूट का मान दर्शाता है और पैरेंथेसिस का एक जोड़

  1. C++ में बाइनरी ट्री की न्यूनतम गहराई C++ में बाइनरी ट्री की न्यूनतम गहराई

    समस्या विवरण मान लीजिए हमारे पास एक बाइनरी ट्री है; हमें उस ट्री की न्यूनतम गहराई ज्ञात करनी है। जैसा कि हम जानते हैं, न्यूनतम गहराई रूट नोड से निकटतम लीफ नोड तक के सबसे छोटे पथ पर नोड्स की संख्या है। उदाहरण यदि इनपुट ट्री है: तो आउटपुट होगा 2 हल करने का दृष्टिकोण इस समस्या को हल करने के लिए निम

  1. - C++ में std::string से स्पेस हटाना

    इस प्रोग्राम में हम देखेंगे कि C++ में std::string से स्पेस कैसे हटाएं। इसे हटाने के लिए हम remove() फंक्शन का उपयोग करेंगे। इस remove() फंक्शन के साथ यह इटरेटर की शुरुआत और अंत लेता है, फिर तीसरा आर्गुमेंट लेता है जिसे उस इटरेटर ऑब्जेक्ट से हटाया जाएगा। इनपुट: एक स्ट्रिंग This is C++ Programming L