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

पायथन में स्ट्रिंग्स का ग्रेटेस्ट कॉमन डिवाइजर


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

समाधान के चरण

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

उदाहरण

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

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 :) print(my_list) substring = ys my_result = [sub for sub in my_list if all(elem in sub for elem in substring)] print(The resultant string is :) print(my_result) आउटपुट The list is : [Python,

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

    उदाहरण नीचे इसका प्रदर्शन दिया गया है: from collections import Counter from itertools import combinations my_list = [[31, 25, 77, 82], [96, 15, 23, 32]] print(The list is :) print(my_list) my_result = Counter() for elem in my_list: if len(elem) < 2: continue elem.sort() for size

  1. Excel में न्यूनतम सार्वभाज्य गुणक या महत्तम सामान्य भाजक ढूंढें Excel में न्यूनतम सार्वभाज्य गुणक या महत्तम सामान्य भाजक ढूंढें

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