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

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

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

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

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

  • s:=एक नया सेट
  • सीटी:=0
  • प्रत्येक i के लिए शब्दों में, करें
    • अगर मैं s में नहीं हूं, तो
      • सीटी:=सीटी + 1
    • जे के लिए रेंज 0 से आई के आकार के लिए, करते हैं
      • अस्थायी:=i का सबस्ट्रिंग [इंडेक्स j से अंत तक] i [शुरुआत से j तक] के सबस्ट्रिंग को जोड़ना)
      • अस्थायी को s में डालें
  • वापसी सीटी

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

उदाहरण

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. कितने क्यूब्स काटे गए यह पता लगाने के लिए पायथन प्रोग्राम

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

  1. एक सूची का संचयी योग खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें संचयी राशि के साथ एक सूची बनानी होगी। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # cumulative sum def Cumulative(l):    new = []    cumsum = 0   &nb

  1. सरणी रोटेशन के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - एक टेक्स्ट और एक पैटर्न को देखते हुए, हमें टेक्स्ट में पैटर्न और उसके क्रमपरिवर्तन (या विपर्यय) की सभी घटनाओं को प्रिंट करना होगा। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # maximum value MAX = 300 #