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

पायथन में स्ट्रिंग्स का सबसे बड़ा सामान्य भाजक

मान लीजिए कि दो तार A और B हैं। हम कह सकते हैं कि A, B से विभाज्य है, जब A को B को एक या अधिक बार जोड़कर बनाया जाता है। इसलिए यदि A ="abcabc", और B ="abc" है, तो A, B से विभाज्य है। इस खंड में, हम देखेंगे कि स्ट्रिंग का सबसे बड़ा सामान्य भाजक क्या है। तो सबसे बड़ी स्ट्रिंग लौटाएं जो दोनों तारों को विभाजित करती है। तो अगर दो तार "अबाबाब" और "एबीएबी" हैं, तो जीसीडी "एबी" होगा

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

  • अस्थायी:=ए और बी के बीच छोटी स्ट्रिंग
  • m :=तापमान की लंबाई
  • x :=1
  • res एक सरणी है और रेस में "" डालें
  • जबकि A और B में आकार x का सबस्ट्रिंग है, फिर सबस्ट्रिंग को res में जोड़ें, और x को 1 से बढ़ाएँ
  • अंत में रेस सरणी में अंतिम तत्व लौटाएं।

उदाहरण

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

class Solution(object):
   def gcdOfStrings(self, str1, str2):
      if len(str1)<=len(str2):
         temp = str1
      else:
         temp = str2
      m = len(temp)
      x = 1
      res=[""]
      while x<=m:
         if m%x==0 and temp[:x] * (len(str1)//x) == str1 and temp[:x] * (len(str2)//x) == str2:
            res.append(temp[:x])
         x+=1
      return res[-1]
ob1 = Solution()
print(ob1.gcdOfStrings("ABABAB","ABAB"))

इनपुट

"ABABAB"
"ABAB"

आउटपुट

AB

  1. पायथन - फ़िल्टर सुपरसीक्वेंस स्ट्रिंग्स

    जब सुपरसीक्वेंस स्ट्रिंग्स को फ़िल्टर करने की आवश्यकता होती है, तो एक साधारण सूची समझ का उपयोग किया जाता है। उदाहरण नीचे उसी का एक प्रदर्शन है my_list = ["Python", "/", "is", "alwaysgreat", "to", "learn"] print("The list is :")

  1. पायथन - मैट्रिक्स में सबसे आम संयोजन

    जब मैट्रिक्स में सबसे सामान्य संयोजन को खोजने की आवश्यकता होती है, तो सॉर्ट विधि और काउंटर विधि के साथ एक साधारण पुनरावृत्ति का उपयोग किया जाता है। उदाहरण नीचे उसी का एक प्रदर्शन है from collections import Counter from itertools import combinations my_list = [[31, 25, 77, 82], [96, 15, 23, 32]] p

  1. एक्सेल में सबसे कम सामान्य गुणक या सबसे बड़ा सामान्य भाजक खोजें

    माइक्रोसॉफ्ट एक्सेल गणितीय गणनाओं को आसान बनाने में मदद करने के लिए जाना जाता है। हम सभी सरल गणितीय फ़ार्मुलों जैसे जोड़, घटाव, आदि के बारे में जानते हैं, हालाँकि, जैसे-जैसे हम अधिक जटिल गणितीय कार्यों की ओर बढ़ते हैं, हमें एक्सेल पर फ़ंक्शन को संसाधित करने के लिए सूत्रों का उपयोग करने की आवश्यकता ह