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

C++ में मेटा स्ट्रिंग्स (जांचें कि क्या एक स्ट्रिंग में स्वैप के बाद दो स्ट्रिंग्स समान हो सकती हैं)


इस खंड में, हम देखेंगे कि दो स्ट्रिंग्स मेटा स्ट्रिंग हैं या नहीं, इसकी जांच कैसे करें। मेटा स्ट्रिंग्स वे स्ट्रिंग्स हैं जो बहुत समान हैं। यदि हम एक स्ट्रिंग में दो एलिमेंट्स को स्वैप करते हैं, तो यह दूसरी स्ट्रिंग से मेल खाएगी। मान लीजिए दो स्ट्रिंग्स "HELLO" और "OELLH" हैं, तो वे मेटा स्ट्रिंग्स हैं।

यह जांचने के लिए कि दो स्ट्रिंग्स मेटा स्ट्रिंग हैं या नहीं, हमें इन चरणों का पालन करना होगा।

चरण −

  • यदि दोनों स्ट्रिंग्स अलग-अलग लंबाई की हैं, तो false वापस करें

  • अन्यथा उन कैरेक्टर्स की संख्या ढूंढें जो मेल नहीं खाते, साथ ही नॉन-मैचिंग कैरेक्टर्स के इंडेक्स स्टोर करें

  • यदि काउंट 2 से अधिक है, तो false वापस करें

  • अन्यथा इन कैरेक्टर्स को स्वैप करें, फिर यदि दोनों स्ट्रिंग्स समान हैं, तो true वापस करें, अन्यथा false।

उदाहरण

#include <iostream> using namespace std; bool areTheyMetaString(string s1, string s2) {    int s1_len = s1.length();    int s2_len = s2.length();    if (s1_len != s2_len)    return false;    int prev = -1, curr = -1;    int count = 0;    for (int i=0; i<s1_len; i++) {       if (s1[i] != s2[i]) {          count++; // नॉन-मैचिंग कैरेक्टर्स की संख्या          if (count > 2)          return false;          prev = curr;          curr = i;       }    }    return (count == 2 && s1[prev] == s2[curr] && s1[curr] == s2[prev]); } int main() {    string s1 = "HELLO", s2 = "OELLH";    if(areTheyMetaString(s1, s2)){       cout << "मेटा स्ट्रिंग्स";    } else {       cout << "मेटा स्ट्रिंग्स नहीं";    } }

आउटपुट

मेटा स्ट्रिंग्स

  1. C++ में दो बाइनरी स्ट्रिंग्स को जोड़ें C++ में दो बाइनरी स्ट्रिंग्स को जोड़ें

    दो बाइनरी संख्या वाली स्ट्रिंग्स दी गई हैं, हमें उन दो बाइनरी स्ट्रिंग्स को जोड़कर प्राप्त परिणाम ढूंढना है और परिणाम को बाइनरी स्ट्रिंग के रूप में लौटाना है। बाइनरी संख्याएं वे संख्याएं हैं जिन्हें या तो 0 या 1 के रूप में व्यक्त किया जाता है। 2 बाइनरी संख्याओं को जोड़ते समय बाइनरी जोड़ का नियम हो

  1. - पायथन में जांचें कि एक वर्ण हटाने पर सभी वर्णों की आवृत्ति समान हो सकती है या नहीं

    मान लीजिए हमारे पास एक लोअरकेस स्ट्रिंग s है। हमें जांचना है कि एक वर्ण हटाने के बाद सभी वर्णों की आवृत्ति समान है या नहीं। इसलिए, यदि इनपुट s = abbc है, तो आउटपुट True होगा क्योंकि हम एक b हटाकर स्ट्रिंग abc प्राप्त कर सकते हैं जहां प्रत्येक तत्व की आवृत्ति 1 है। इसे हल करने के लिए, हम इन चरणों का

  1. - पायथन में जांचें कि दी गई स्ट्रिंग दो स्ट्रिंग्स को जोड़कर बन सकती है या नहीं

    मान लीजिए हमारे पास दो स्ट्रिंग्स s और t और r हैं, हमें जांचना है कि क्या r = s + t या r = t + s है, जहां + संयोजन (concatenation) दर्शाता है। उदाहरण के लिए, यदि s = world, t = hello, r = helloworld है, तो आउटपुट True होगा क्योंकि helloworld (r) = hello (t) + world (s)। हल करने का तरीका यदि r की ल