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

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

मान लीजिए कि हमारे पास दो लोअरकेस स्ट्रिंग्स हैं, और t हमें यह जांचना है कि क्या हम s में प्रत्येक अक्षर के लिए एक 1-टू-1 मैपिंग बना सकते हैं (शायद एक ही अक्षर) जैसे कि s को t में मैप किया जा सकता है। (अक्षरों का क्रम नहीं बदला जाएगा)।

इसलिए, यदि इनपुट s ="papa", t ="lili" जैसा है, तो आउटपुट ट्रू होगा, क्योंकि हम यह मैपिंग बना सकते हैं:"p" से "l", "a" -> "i"

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

  • s_dict :=एक नया नक्शा
  • t_dict :=एक नया नक्शा
  • i के लिए 0 से न्यूनतम s आकार और t आकार की श्रेणी में, करें
    • अगर s[i] s_dict में मौजूद है, तो
      • यदि s_dict[s[i]] t[i] के समान नहीं है, तो
        • झूठी वापसी
    • अन्यथा जब t[i] t_dict में मौजूद हो, तब
      • यदि t_dict[t[i]] s[i] के समान नहीं है, तो
        • झूठी वापसी
    • अन्यथा,
      • s_dict[s[i]] :=t[i]
      • t_dict[t[i]] :=s[i]
  • सही लौटें

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

उदाहरण

class Solution:
   def solve(self, s, t):
      s_dict = {}
      t_dict = {}
      for i in range(min(len(s), len(t))):
         if s[i] in s_dict:
            if s_dict[s[i]] != t[i]:
               return False
            elif t[i] in t_dict:
               if t_dict[t[i]] != s[i]:
                  return False
               else:
                  s_dict[s[i]] = t[i]
                  t_dict[t[i]] = s[i]
      return True
ob = Solution()
print(ob.solve("papa", "lili"))

इनपुट

"papa", "lili"

आउटपुट

True

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

    मान लीजिए कि हमारे पास दो तार s और t हैं, हमें यह जांचना होगा कि क्या हम s से 1 अक्षर हटाकर t प्राप्त कर सकते हैं। इसलिए, यदि इनपुट s =world, t =wrld जैसा है, तो आउटपुट ट्रू होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - i:=0 n:=s का आकार जबकि मैं

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

    मान लीजिए कि हमारे पास दो तार p और q हैं, और एक संख्या r भी है, तो हमें यह जांचना होगा कि कुछ वर्णों को r समय पर दक्षिणावर्त स्थानांतरित करके p को q में बदला जा सकता है या नहीं। इसलिए, उदाहरण के तौर पर, c को 2 क्लॉकवाइज़ शिफ्ट का उपयोग करके e में बदला जा सकता है। इसलिए, यदि इनपुट p =abc, q =ccc, r

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

    यहां एक स्ट्रिंग दी गई है तो हमारा काम मौसम की जांच करना है कि दी गई स्ट्रिंग हेटरोग्राम है या नहीं। हेटरोग्राम चेकिंग का अर्थ यह है कि एक शब्द, वाक्यांश या वाक्य जिसमें वर्णमाला का कोई अक्षर एक से अधिक बार नहीं आता है। एक हेटरोग्राम को एक पंग्राम से अलग किया जा सकता है जो वर्णमाला के सभी अक्षरों क