इस ट्यूटोरियल में, हम निम्नलिखित समस्या को हल करने जा रहे हैं।
केवल a और b वर्णों वाली एक स्ट्रिंग को देखते हुए, हमारा कार्य उप-स्ट्रिंग को हटाना है ab स्ट्रिंग से। और बची हुई स्ट्रिंग को प्रिंट करें।
यहाँ, समस्या को हल करने के लिए विचार बहुत सरल है। केवल a और b के साथ प्रत्येक स्ट्रिंग अंत में या तो a या b में सिकुड़ जाएगी।
आइए समस्या को हल करने के लिए चरणों को देखें।
-
स्ट्रिंग को इनिशियलाइज़ करें।
-
ए और बी के लिए दो काउंटर वैरिएबल प्रारंभ करें।
-
दिए गए स्ट्रिंग पर पुनरावृति करें।
-
ए और बी की गणना करें
-
-
a और b आवृत्तियों से अधिकतम ज्ञात कीजिए।
-
दोनों के बीच अंतर प्रिंट करें।
उदाहरण
आइए कोड देखें।
#include <bits/stdc++.h>
using namespace std;
string getTheUpdatedString(string str) {
int n = str.length();
int a_count = 0, b_count = 0;
for (int i = 0; i < n; i++) {
if (str[i] == 'a') {
a_count++;
}
else {
b_count++;
}
}
string updated_string = "";
if (a_count > b_count) {
for (int i = 0; i < a_count - b_count; i++) {
updated_string += "a";
}
}
else {
for (int i = 0; i < b_count - a_count; i++) {
updated_string += "b";
}
}
return updated_string;
}
int main() {
string str = "ababababaaa";
cout << getTheUpdatedString(str) << endl;
} आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।
aaa
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।