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

जांचें कि बाइनरी स्ट्रिंग में 1s के बीच 0 है या नहीं C++

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

  • 10001111010
  • 00001111100
  • 01111101111

इन तीन स्ट्रिंग्स में से केवल B ही मान्य है, क्योंकि 1s की स्ट्रीम के अंदर कोई 0 नहीं है

इस समस्या को हल करने के लिए, हम स्ट्रिंग में मौजूद पहले 1 की अनुक्रमणिका पाएंगे, और अंतिम 1 की अनुक्रमणिका भी ढूंढेंगे। फिर हम जांच करेंगे कि क्या इन दोनों सूचकांकों में से कोई 0 है, यदि ऐसा है, तो झूठी वापसी करें, अन्यथा सत्य (जैसा मान्य है)

उदाहरण

#include <iostream>
using namespace std;
bool hasZeroInOnes(string str) {
   int first, last;
   for(first = 0; first < str.length(); first++){
      if(str[first] == '1')
      break;
   }
   for(last = str.length() - 1; last >= 0; last--){
      if(str[last] == '1')
      break;
   }
   for(int i = first+1; i < last; i++){
      if(str[i] == '0')
      return false;
   }
   return true;
}
int main() {
   string str = "00001111100";
   if(hasZeroInOnes(str)){
      cout << str << " is a valid string";
   } else {
      cout << str << " is NOT a valid string";
   }
}

आउटपुट

00001111100 is a valid string

  1. C++ में एक बाइनरी ट्री की पूर्णता की जाँच करें

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है। हमें यह जांचना है कि ट्री पूर्ण बाइनरी ट्री है या नहीं। स्तर n के एक पूर्ण बाइनरी ट्री में n-1 पूर्ण स्तर होते हैं, और स्तर n पर सभी नोड्स बाईं ओर से भरे जाते हैं। तो अगर इनपुट ट्री जैसा है - तब आउटपुट सही होगा, क्योंकि यह पूर्ण बाइनरी ट्री है। इसे हल

  1. जांचें कि बाइनरी ट्री को सी ++ में स्तर के अनुसार क्रमबद्ध किया गया है या नहीं

    यहां हम देखेंगे कि बाइनरी ट्री की जांच कैसे की जाती है कि यह स्तर के अनुसार क्रमबद्ध है या नहीं। स्तर के अनुसार क्रमबद्ध बाइनरी ट्री नीचे जैसा दिखेगा - प्रत्येक स्तर में, नोड्स को बाएं से दाएं क्रमबद्ध किया जाता है, और प्रत्येक परत में अपने पिछले स्तर की तुलना में उच्च मान होता है। हम लेवल ऑर्डर

  1. जांचें कि बाइनरी ट्री को सी ++ में स्तर-वार क्रमबद्ध किया गया है या नहीं

    यहां हम देखेंगे कि बाइनरी ट्री की जांच कैसे की जाती है कि यह स्तर के अनुसार क्रमबद्ध है या नहीं। स्तर के अनुसार क्रमबद्ध बाइनरी ट्री नीचे जैसा दिखेगा - प्रत्येक स्तर में, नोड्स को बाएं से दाएं क्रमबद्ध किया जाता है, और प्रत्येक परत में अपने पिछले स्तर की तुलना में उच्च मान होता है। हम लेवल ऑर्डर