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

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


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

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

हल करने के चरण

  • s_dict := एक नया मैप।
  • t_dict := एक नया मैप।
  • i को 0 से min(len(s), len(t)) तक:
    • यदि s[i] s_dict में मौजूद है, तो:
      • यदि s_dict[s[i]] != t[i], तो False लौटाएं।
    • अन्यथा यदि t[i] t_dict में मौजूद है, तो:
      • यदि t_dict[t[i]] != s[i], तो False लौटाएं।
    • अन्यथा:
      • s_dict[s[i]] := t[i]
      • t_dict[t[i]] := s[i]
  • True लौटाएं।

उदाहरण

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 है, तो आउटपुट True होगा। इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे: i := 0, n := len(s)। जब तक i < n: temp := s[:i] + s[i+1:] (iवें

  1. - पायथन में जांचें कि क्या एक स्ट्रिंग को दूसरी स्ट्रिंग में घड़ी की दिशा में अक्षरों को शिफ्ट करके बदला जा सकता है

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

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

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