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

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

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

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

चरण -

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

  • अन्यथा ऐसे कई वर्ण खोजें जो मेल नहीं खाते हैं, गैर-मिलान वर्णों की अनुक्रमणिका भी संग्रहीत करते हैं

  • यदि गिनती 2 से अधिक है, तो झूठी वापसी करें

  • अन्यथा इन वर्णों को स्वैप करें, फिर यदि दो तार समान हैं, तो सत्य लौटाएं, अन्यथा असत्य।

उदाहरण

#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++; // number of unmatched characters
         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 << "Meta Strings";
   } else {
      cout << "Not Meta Strings";
   }
}

आउटपुट

Meta Strings

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

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

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

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

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

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