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

C++ में बाइनरी स्ट्रिंग विद सबस्ट्रिंग्स रिप्रेजेंटिंग 1 टू N (Binary String With Substrings Representing 1 To N)


मान लीजिए हमारे पास एक बाइनरी स्ट्रिंग S और एक धनात्मक पूर्णांक N है, हमें true कहना है यदि और केवल यदि 1 से N तक प्रत्येक पूर्णांक X के लिए, X का बाइनरी प्रतिनिधित्व दिए गए S का उपस्ट्रिंग है।

उदाहरण के लिए, यदि S = "0110" और N = 3, तो परिणाम true होगा, क्योंकि 1, 10 और 11 सभी 0110 में मौजूद हैं।

समाधान दृष्टिकोण

  1. convert() विधि परिभाषित करें जो n को बाइनरी स्ट्रिंग में बदलती है

  2. मुख्य विधि से, i = N से N/2 तक घटाते हुए लूप चलाएं

  3. प्रत्येक i को बाइनरी में बदलकर S में खोजें

  4. यदि कोई नहीं मिला तो false लौटाएं, अन्यथा true

C++ कार्यान्वयन

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

class Solution { 
public: 
    string convert(int n){ 
        string ret = ""; 
        while(n){ 
            ret += (n % 2) + '0'; 
            n /= 2; 
        } 
        reverse(ret.begin(), ret.end()); 
        return ret; 
    } 
    
    bool queryString(string S, int N) { 
        for(int i = N; i >= N/2; i-- ){ 
            string temp = convert(i); 
            if(S.find(temp) == string::npos) return false; 
        } 
        return true; 
    } 
}; 

int main(){ 
    Solution ob; 
    cout << (ob.queryString("0110", 3)); 
    return 0; 
}

इनपुट

"0110" 3

आउटपुट

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

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

  1. C++ में दो बाइनरी स्ट्रिंग्स को जोड़ें C++ में दो बाइनरी स्ट्रिंग्स को जोड़ें

    दो बाइनरी संख्या वाली स्ट्रिंग्स दी गई हैं, हमें उन दो बाइनरी स्ट्रिंग्स को जोड़कर प्राप्त परिणाम ढूंढना है और परिणाम को बाइनरी स्ट्रिंग के रूप में लौटाना है। बाइनरी संख्याएं वे संख्याएं हैं जिन्हें या तो 0 या 1 के रूप में व्यक्त किया जाता है। 2 बाइनरी संख्याओं को जोड़ते समय बाइनरी जोड़ का नियम हो

  1. C++ में ब्रैकेट के साथ बाइनरी ट्री को स्ट्रिंग में बदलें C++ में ब्रैकेट के साथ बाइनरी ट्री को स्ट्रिंग में बदलें

    इस समस्या में, हमें एक बाइनरी ट्री दिया गया है। हमारा कार्य एक ऐसा प्रोग्राम बनाना है जो बाइनरी ट्री को C++ में ब्रैकेट के साथ स्ट्रिंग में परिवर्तित करे। बाइनरी ट्री के मान इंटीजर हैं और उन्हें प्रीऑर्डर ट्रैवर्सल तरीके से प्रोग्राम में दिया जाएगा। स्ट्रिंग में केवल इंटीजर और पैरेंथीसिस () होने चाह