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

सी ++ कोड एक ही 'ए' और 'बी' गिनती के साथ अद्यतन स्ट्रिंग प्राप्त करने के लिए

मान लीजिए कि हमारे पास स्ट्रिंग S है जिसकी लंबाई भी n है। S में केवल दो प्रकार के वर्ण 'a' और 'b' हैं। हम स्ट्रिंग को संशोधित करना चाहते हैं ताकि इसकी लंबाई के प्रत्येक उपसर्ग में 'ए' और 'बी' अक्षरों की समान मात्रा हो। इसे प्राप्त करने के लिए, हम निम्नलिखित ऑपरेशन को कई बार मनमानी संख्या में कर सकते हैं:उसकी स्ट्रिंग में कुछ स्थिति का चयन करें और इस स्थिति के अक्षर को दूसरे अक्षर से बदलें। अपडेट की गई स्ट्रिंग लौटाएं।

इसलिए, यदि इनपुट S ="aabbbb" जैसा है, तो आउटपुट "baabab" होगा

कदम

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

n := size of S
for initialize i := 0, when i < n, update i := i + 2, do:
   if S[i] is same as S[i + 1], then:
      (increase ans by 1)
   S[i] := (if S[i] is same as 'a', then 'b', otherwise 'a')
return S

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;
string solve(string S){
   int n = S.size(), ans = 0;
   for (int i = 0; i < n; i += 2)
      if (S[i] == S[i + 1]){
         ans++;
         S[i] = S[i] == 'a' ? 'b' : 'a';
      }
   return S;
}
int main(){
   string S = "aabbbb";
   cout << solve(S) << endl;
}

इनपुट

"aabbbb"

आउटपुट

baabab

  1. सी ++ में समान पड़ोसियों के साथ वर्णों की गणना करें

    हमें एक स्ट्रिंग दी गई है, मान लें, str और कार्य समान पड़ोसियों वाले स्ट्रिंग str में वर्णों की गणना करना है और इसमें स्ट्रिंग में वर्ण के बाएँ और दाएँ दोनों पक्ष शामिल होंगे। साथ ही, इस परिदृश्य में एक स्ट्रिंग में पहला और अंतिम वर्ण हमेशा माना जाएगा क्योंकि उनके पास केवल एक आसन्न वर्ण है। उदाहरण क

  1. अक्षरों को उसी स्थिति में गिनें जैसे C++ में अंग्रेजी वर्णमाला में होता है

    हमें अपरकेस और लोअरकेस अक्षरों वाली किसी भी लंबाई की एक स्ट्रिंग दी गई है और कार्य उन वर्णों की गिनती की गणना करना है जो अंग्रेजी वर्णमाला के समान स्थिति में हैं। उदाहरण के लिए Input − String str = eBGD Output − Count is: 2 स्पष्टीकरण - B और D ऐसे अक्षर हैं जो अंग्रेजी वर्णमाला में उसी

  1. C++ में समान स्ट्रिंग प्राप्त करने के लिए आवश्यक न्यूनतम घुमाव

    समस्या कथन एक स्ट्रिंग को देखते हुए, हमें समान स्ट्रिंग प्राप्त करने के लिए आवश्यक न्यूनतम संख्या में घुमावों को खोजने की आवश्यकता है उदाहरण यदि इनपुट स्ट्रिंग bbbbbb है तो न्यूनतम 1 रोटेशन आवश्यक है एल्गोरिदम 1. Initialize result = 0 2. Make a temporary string equals to original string concatenat