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

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

मान लीजिए कि हमारे पास दो लोअरकेस स्ट्रिंग्स s और t हैं। अब एक ऑपरेशन पर विचार करें जहां हम एक चरित्र की सभी घटनाओं को दूसरे चरित्र के साथ बदलते हैं। अगर हम इस ऑपरेशन को कितनी भी बार कर सकते हैं, तो हमें यह जांचना होगा कि s को t में बदला जा सकता है या नहीं।

इसलिए, यदि इनपुट s ="eye" t ="pip" जैसा है, तो आउटपुट ट्रू होगा, क्योंकि हम "e"s को "p"s और "y" को "i" से बदल सकते हैं।

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

  • एक नक्शा m1 और दूसरा नक्शा m2 परिभाषित करें

  • n :=s का आकार

  • इनिशियलाइज़ i:=0 के लिए, जब i

    • यदि s[i] m1 में है, तो -

      • अगर m1[s[i]] t[i] के समान है, तो -

        • अगले पुनरावृत्ति के लिए जाएं

      • झूठी वापसी

    • अन्यथा

      • m1[s[i]] :=t[i]

  • सही लौटें

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
bool solve(string s, string t) {
   map m1, m2;
   int n = s.size();
   for(int i = 0; i <n; i++){
      if(m1.count(s[i])){
         if(m1[s[i]] == t[i]) continue;
            return false;
      }
      else{
         m1[s[i]] = t[i];
      }
   }
   return true;
}
int main(){
   string s = "eye", t = "pip";
   cout << solve(s, t);
}

इनपुट

"eye","pip"

आउटपुट

1

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

    मान लीजिए कि हमारे पास दो तार s और t हैं, हमें यह पता लगाना होगा कि t उत्पन्न करने के लिए स्ट्रिंग s को कितनी बार संयोजित किया जा सकता है। यदि हम s का उपयोग करके t उत्पन्न नहीं कर सकते हैं, तो -1 लौटाएं। इसलिए, यदि इनपुट s =tom t =tomtomtom जैसा है, तो आउटपुट 3 होगा क्योंकि हम tomtomtom प्राप्त करन

  1. प्रोग्राम यह जांचने के लिए कि क्या हम दिए गए स्ट्रिंग वर्णों से k palindromes बना सकते हैं या नहीं पायथन में?

    मान लीजिए कि हमारे पास एक स्ट्रिंग s और दूसरी संख्या k है, हमें यह जांचना होगा कि हम s में सभी वर्णों का उपयोग करके kpalindromes बना सकते हैं या नहीं। इसलिए, यदि इनपुट s =amledavmel k =2 जैसा है, तो आउटपुट ट्रू होगा, क्योंकि हम लेवल और मैडम बना सकते हैं। इसे हल करने के लिए, हम इन चरणों का पालन करे

  1. दिए गए स्ट्रिंग की जाँच करने का कार्यक्रम पायथन में पैंग्राम है या नहीं

    मान लीजिए हमारे पास एक स्ट्रिंग s है, यह एक वाक्य का प्रतिनिधित्व कर रहा है, हमें यह जांचना होगा कि अंग्रेजी वर्णमाला का प्रत्येक अक्षर कम से कम एक बार प्रयोग किया जाता है या नहीं। इसलिए, यदि इनपुट द ग्रम्पी विजार्ड्स मेक टॉक्सिक ब्रू, फॉर द ईविल क्वीन एंड जैक जैसा है, तो आउटपुट ट्रू होगा इसे हल क