इस ट्यूटोरियल में, हम निम्नलिखित समस्या को हल करने जा रहे हैं।
केवल 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
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।