आइए पहले अपनी प्रारंभिक स्ट्रिंग घोषित करें और इसकी लंबाई की गणना करें और उन्हें deleteSubstr(str,length) फ़ंक्शन में पास करें।
string str = "01010110011"; int length = str.length(); cout <<"Count of substring deletion"<< deleteSubstr(str, length);
डिलीटसबस्ट्र (स्ट्रिंग स्ट्र, इंट लेंथ) के अंदर लूप के लिए फंक्शन तब तक चलता है जब तक कि मैं लंबाई से कम नहीं हो जाता और क्रमशः 0 और 1 के एनकाउंटर पर काउंट_0 और काउंट_1 वेरिएबल को बढ़ाता है। फ़ंक्शन फिर count_0 और count_1 का न्यूनतम मान लौटाता है।
int deleteSubstr(string str, int length){ int count_0 = 0, count_1 = 0; for (int i = 0; i < length; i++) { if (str[i] == '0') count_0++; else count_1++; } return min(count_0, count_1); }
उदाहरण
आइए हम बाइनरी स्ट्रिंग में "01" या "10" के विलोपन के निम्नलिखित कार्यान्वयन को "01" या "10" से मुक्त करने के लिए देखें-
#include <iostream> using namespace std; int deleteSubstr(string str, int length){ int count_0 = 0, count_1 = 0; for (int i = 0; i < length; i++) { if (str[i] == '0') count_0++; else count_1++; } return min(count_0, count_1); } int main(){ string str = "01010110011"; int length = str.length(); cout <<"Count of substring deletion "<< deleteSubstr(str, length); return 0; }
आउटपुट
उपरोक्त कोड निम्न आउटपुट उत्पन्न करेगा -
Count of substring deletion 5