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

दो स्ट्रिंग्स को विभाजित करने का कार्यक्रम जैसे कि प्रत्येक विभाजन पायथन में विपर्यय बनाता है

मान लीजिए कि हमारे पास दो गैर-रिक्त तार s और t हैं जो समान लंबाई के हैं। हमें उन्हें सबस्ट्रिंग में इस तरह विभाजित करना होगा कि s और t सबस्ट्रिंग की प्रत्येक जोड़ी एक ही आकार की हो और वे एक दूसरे के विपर्यय हों। अब कट इंडेक्स इस तरह से खोजें कि इससे s और t की अधिकतम संख्या में कटौती हो। यदि कोई परिणाम नहीं मिलता है, तो खाली सूची लौटाएं।

इसलिए, यदि इनपुट s ="bowcattiger" t ="owbactietgr" जैसा है, तो आउटपुट [0, 3, 5, 6, 10] होगा, क्योंकि हम स्ट्रिंग को 5 विभाजनों में विभाजित कर सकते हैं जैसे कि प्रत्येक स्ट्रिंग एक है एक दूसरे का विपर्ययण। s =["धनुष", "ca", "t", "tige", "r"], t =["owb", "ac", "t", "ietg", "r"]

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

  • अंतराल:=एक नई सूची
  • cs :=s में मौजूद वर्ण और उसकी आवृत्ति वाला नक्शा
  • ct :=t और उसकी आवृत्ति में मौजूद वर्ण वाला नक्शा
  • यदि cs, ct के समान नहीं है, तो
    • नई सूची लौटाएं
  • x के लिए s - 1 से 0 तक के श्रेणी आकार में, करें
    • cs[s[x]] :=cs[s[x]] - 1
    • ct[t[x]] :=ct[t[x]] - 1
    • यदि cs, ct के समान है, तो
      • अंतराल के अंत में x डालें
  • सूची अंतरालों को क्रमबद्ध करें और वापस लौटें

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

उदाहरण

from collections import Counter
class Solution:
   def solve(self, a, b):
      intervals = []
      ca = Counter(a)
      cb = Counter(b)
      if ca != cb:
         return []
      for x in reversed(range(len(a))):
            ca[a[x]] -= 1
            cb[b[x]] -= 1
            if ca == cb:
               intervals.append(x)
      return sorted(intervals)
ob = Solution()
s = "bowcattiger"
t = "owbactietgr"
print(ob.solve(s, t))

इनपुट

"bowcattiger", "owbactietgr"

आउटपुट

[0, 3, 5, 6, 10]

  1. पायथन में वर्णों की अदला-बदली करके समान लंबाई के दो तारों को बराबर करने का कार्यक्रम

    मान लीजिए कि हमारे पास n लंबाई के दो तार s और t हैं। हम एक अक्षर s से और दूसरा t से ले सकते हैं और उन्हें स्वैप कर सकते हैं। हम असीमित संख्या में स्वैप कर सकते हैं; हमें यह जांचना होगा कि दो तारों को बराबर बनाना संभव है या नहीं। इसलिए, यदि इनपुट s =xy, t =yx जैसा है, तो आउटपुट सही होगा इसे हल करने

  1. पायथन में स्ट्रिंग्स के रूप में दर्शाए गए दो नंबरों को जोड़ने का कार्यक्रम

    मान लीजिए कि हमारे पास दो तार S, और T हैं, ये दोनों एक पूर्णांक का प्रतिनिधित्व कर रहे हैं, हमें उन्हें जोड़ना होगा और उसी स्ट्रिंग प्रतिनिधित्व में परिणाम खोजना होगा। इसलिए, यदि इनपुट 256478921657, 5871257468 जैसा है, तो आउटपुट 262350179125 होगा, जैसा कि 256478921657 + 5871257468 =262350179125 इस

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

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