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

Python में दो स्ट्रिंग्स क्लोज हैं या नहीं यह निर्धारित करने का प्रोग्राम


मान लीजिए हमारे पास दो स्ट्रिंग्स s और t हैं, हमें जांचना है कि s और t क्लोज हैं या नहीं। हम कह सकते हैं कि दो स्ट्रिंग्स क्लोज हैं यदि हम निम्नलिखित ऑपरेशन्स का उपयोग करके एक को दूसरे से प्राप्त कर सकते हैं:

  • किसी भी दो मौजूदा वर्णों का आदान-प्रदान करें। (जैसे abcde से aecdb)
  • एक मौजूदा वर्ण की हर घटना को दूसरे मौजूदा वर्ण में बदलें, और दूसरे वर्णों के साथ भी ऐसा ही करें। (जैसे aacabb -> bbcbaa (यहां सभी a को b में बदल दिया गया है, और इसके विपरीत))

हम किसी भी स्ट्रिंग पर ऑपरेशन्स का उपयोग जितनी बार चाहें कर सकते हैं।

उदाहरण के लिए, यदि इनपुट है s = "zxyyyx", t = "xyyzzz", तो आउटपुट true होगा, क्योंकि हम s से t को 3 ऑपरेशन्स में प्राप्त कर सकते हैं। ("zxyyyx" -> "zxxyyy"), ("zxxyyy" -> "yxxzzz"), और ("yxxzzz" -> "xyyzzz")।

समाधान के चरण

  1. यदि s और t में कोई असामान्य वर्ण है, तो:
    • False वापस करें
  2. a := s में वर्णों की सभी आवृत्ति मानों की सूची
  3. b := t में वर्णों की सभी आवृत्ति मानों की सूची
  4. a सूची को सॉर्ट करें
  5. b सूची को सॉर्ट करें
  6. यदि a != b, तो:
    • False वापस करें
  7. True वापस करें

उदाहरण

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

from collections import Counter

def solve(s, t):
    if set(s) != set(t):
        return False
    a = list(Counter(s).values())
    b = list(Counter(t).values())
    a.sort()
    b.sort()
    if a != b:
        return False
    return True

s = "zxyyyx"
t = "xyyzzz"
print(solve(s, t))

इनपुट

"zxyyyx", "xyyzzz"

आउटपुट

True
  1. - Python प्रोग्राम से दो मैट्रिक्स गुणा करना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें दो मैट्रिक्स दिए गए हैं, हमें उन्हें गुणा करना है और परिणाम प्रिंट करना है। दो मैट्रिक्स को गुणा करने के लिए पहले मैट्रिक्स के कॉलम दूसरे मैट्रिक्स की पंक्तियों के समान होने चाहिए। हर बार यह स्थिति सही मूल्यांक

  1. पायथन प्रोग्राम: दो स्ट्रिंग्स से असामान्य शब्द खोजें पायथन प्रोग्राम: दो स्ट्रिंग्स से असामान्य शब्द खोजें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें दो स्ट्रिंग्स दी गई हैं, हमें दी गई स्ट्रिंग्स से असामान्य शब्द प्राप्त करने हैं। उदाहरण # असामान्य शब्द def find(A, B): # काउंट count = {} # A में डालें for word in A.split(): count[word] = count.get(w

  1. - Python प्रोग्राम दो डिक्शनरी को मर्ज करने के लिए

    इस ट्यूटोरियल में, हम Python में दो डिक्शनरी को कैसे संयोजित करें, यह सीखने जा रहे हैं। आइए दो डिक्शनरी को मर्ज करने के कुछ तरीके देखते हैं।update() मेथडसबसे पहले, हम डिक्शनरी के इनबिल्ट मेथड update() को मर्ज करने के लिए देखेंगे। update() मेथड None ऑब्जेक्ट लौटाता है और दो डिक्शनरी को एक में जोड़ता