इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो जोड़े (01 और 10) से बाइनरी स्ट्रिंग को मुक्त करने के लिए जोड़े की कुल संख्या (01 या 10) का पता लगाता है। आइए एक उदाहरण देखें।
इनपुट - 101010001
आउटपुट -4
उपरोक्त उदाहरण में, हमें बाइनरी स्ट्रिंग को जोड़े (01 और 10) से मुक्त करने के लिए कुल 4 जोड़े को हटाना होगा।
सभी जोड़ियों को हटाने के बाद परिणामी स्ट्रिंग 0 . है ।
हमें सभी 01 . को हटाना होगा और 10 बाइनरी स्ट्रिंग से जोड़े। इसलिए, हटाए जाने वाले जोड़ों की कुल संख्या न्यूनतम गिनती(1) . है और गिनती(0) ।
आइए समस्या को हल करने के लिए चरणों को देखें।
-
बाइनरी स्ट्रिंग को इनिशियलाइज़ करें।
-
शून्य खोजें और एक की गिनती करें।
-
शून्य से न्यूनतम प्रिंट करें और एक की गिनती करें।
उदाहरण
आइए कोड देखें।
#include <bits/stdc++.h> using namespace std; int findMinimumNumberOfDeletions(string str, int len) { int zeroes_count = 0, ones_count = 0; // counting zeroes and ones for (int i = 0; i < len; i++) { if (str[i] == '0') { zeroes_count++; } else { ones_count++; } } return min(zeroes_count, ones_count); } int main() { string str = "101010001"; int len = str.length(); cout << findMinimumNumberOfDeletions(str, len) << endl; return 0; }
आउटपुट
यदि आप उपरोक्त प्रोग्राम को निष्पादित करते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।
4
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।