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

पायथन में शब्दों की सूची के लिए कितने अलग-अलग रोटेशन समूह हैं, यह खोजने का प्रोग्राम


मान लीजिए हमारे पास एक स्ट्रिंग के लिए रोटेशन समूह है जो इसके सभी अद्वितीय रोटेशन को रखता है। यदि इनपुट है "567", तो इसे "675" और "756" में घुमाया जा सकता है और वे सभी एक ही रोटेशन समूह में हैं। अब यदि हमारे पास स्ट्रिंग्स की एक सूची words है, हमें प्रत्येक शब्द को उनके रोटेशन समूह द्वारा समूहित करना है, और समूहों की कुल संख्या ढूंढनी है।

उदाहरण के लिए, यदि इनपुट है words = ["xyz", "ab", "ba", "c", "yzx"], तो आउटपुट होगा 3, क्योंकि तीन रोटेशन समूह हैं: ["xyz", "yzx"], ["ab", "ba"], ["c"]।

हल करने के चरण

  • s := एक नया सेट।
  • ct := 0
  • प्रत्येक i के लिए words में:
    • यदि i s में नहीं है, तो ct := ct + 1।
    • j को 0 से i के आकार तक:
      • temp := i[j:] + i[:j] (रोटेशन)।
      • temp को s में डालें।
  • ct लौटाएं।

उदाहरण

class Solution:
    def solve(self, words):
        s = set()
        ct = 0
        for i in words:
            if i not in s:
                ct += 1
            for j in range(len(i)):
                s.add(i[j:] + i[:j])
        return ct

ob = Solution()
print(ob.solve(["xyz", "ab", "ba", "c", "yzx"]))

इनपुट

["xyz", "ab", "ba", "c", "yzx"]

आउटपुट

3
  1. Python में कितने क्यूब कटे हैं, यह खोजने का प्रोग्राम Python में कितने क्यूब कटे हैं, यह खोजने का प्रोग्राम

    मान लीजिए, a, b, और c आयामों के कई क्यूब्स हैं, और उनका उपयोग करके axbxc आयाम का एक नया बॉक्स बनाया जाता है। a, b, और c pairwise को-प्राइम हैं; gcd(a, b) = gcd(b,c) = gcd(c, a) = 1। हमें एक सिंगल स्लाइस के साथ बॉक्स को दो टुकड़ों में काटना है जैसा कि चित्र में दिखाया गया है। हमें यह पता करना है कि य

  1. पायथन प्रोग्राम: लिस्ट का संचयी योग ज्ञात करें पायथन प्रोग्राम: लिस्ट का संचयी योग ज्ञात करें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक लिस्ट दी गई है, हमें संचयी योग के साथ एक लिस्ट बनानी है। उदाहरण # संचयी योग def Cumulative(l): new = [] cumsum = 0 for element in l: cumsum += element new.append(cumsum) return new # ड्राइवर

  1. पायथन प्रोग्राम: सरणी रोटेशन पायथन प्रोग्राम: सरणी रोटेशन

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक टेक्स्ट और एक पैटर्न दिया गया है, हमें पैटर्न और उसके क्रमपरिवर्तन (या एनाग्राम) की सभी घटनाओं को टेक्स्ट में प्रिंट करना है। उदाहरण # अधिकतम मान MAX = 300 # तुलना def compare(arr1, arr2): for i in range(MAX):