কম্পিউটার টিউটোরিয়াল

পাইথনে শব্দের তালিকায় কতগুলো আলাদা রোটেশন গ্রুপ আছে বের করার প্রোগ্রাম


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

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

इसे हल करने के लिए, हम निम्नলिखিত चरणों का पालন करेंगे:

  • s := एक नया सेट
  • ct := 0
  • words में प्रत्येक i के लिए, करें
    • यदि 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. পাইথনে কতগুলো রেখা আঁটকাচ্ছে তা বের করার প্রোগ্রাম

  2. কতগুলো কিউব কাটা হবে সেটা বের করার প্রোগ্রাম

  3. লিস্টের কিউমুলেটিভ সাম বের করার পাইথন প্রোগ্রাম

  4. অ্যারে রোটেশনের পাইথন প্রোগ্রাম