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

पायथन में दो तार करीब हैं या नहीं यह निर्धारित करने के लिए कार्यक्रम

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

  • किन्हीं दो मौजूदा वर्णों का आदान-प्रदान करें। (जैसे एबीसीडी से एईसीडीबी)

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

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

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

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

  • यदि s और t में कोई असामान्य वर्ण है, तो

    • झूठी वापसी

  • a :=s में वर्णों के सभी आवृत्ति मानों की सूची

  • b :=t में वर्णों के सभी आवृत्ति मानों की सूची

  • सूची को क्रमबद्ध करें एक

  • सूची को क्रमबद्ध करें b

  • यदि a, b के समान नहीं है, तो

    • झूठी वापसी

  • सही लौटें

उदाहरण

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

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. दो आव्यूहों को गुणा करने के लिए पायथन कार्यक्रम

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

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

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें दो तार दिए गए हैं, हमें दिए गए तार से असामान्य शब्द निकालने होंगे। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # uncommon words def find(A, B):    # count    count = {}   &n

  1. दो शब्दकोशों को मर्ज करने के लिए पायथन कार्यक्रम

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