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

C++ में 1 से N का प्रतिनिधित्व करने वाले सबस्ट्रिंग के साथ बाइनरी स्ट्रिंग

मान लीजिए कि हमारे पास एक बाइनरी स्ट्रिंग एस और एक सकारात्मक पूर्णांक एन है, हमें सच कहना होगा अगर और केवल अगर 1 से एन तक प्रत्येक पूर्णांक एक्स के लिए, एक्स का बाइनरी प्रतिनिधित्व दिए गए एस का एक विकल्प है। इसलिए यदि एस ="0110 ” और N =3, तो परिणाम सत्य होगा, क्योंकि 1, 10 और 11 सभी 0110 में मौजूद हैं।

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

  • कनवर्ट करने के लिए एक विधि परिभाषित करें (), जो n को इनपुट के रूप में लेगा

  • रिट:=एक खाली स्ट्रिंग

  • जबकि n 0 नहीं है

    • रिट :=रिट कॉन्टेनेट एन मॉड 2

    • n :=n/2

  • रिवर्स रिट और रिटर्न

  • मुख्य विधि से, निम्न कार्य करें

  • i के लिए :=N, जब i>=N/2, i को 1 से घटाएं

    • अस्थायी:=कन्वर्ट (i)

    • अगर अस्थायी एस में नहीं है, तो झूठी वापसी करें

  • सच लौटें।

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

उदाहरण

#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;
   }
};
main(){
   Solution ob;
   cout << (ob.queryString("0110", 3));
}

इनपुट

"0110"
3

आउटपुट

1

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

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

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

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

  1. सी ++ में ब्रैकेट के साथ स्ट्रिंग करने के लिए बाइनरी पेड़

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