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

पायथन में विभिन्न मेलबॉक्स से महत्वपूर्ण मेल छांटने का प्रोग्राम


मान लीजिए हमारे पास मेलबॉक्स की एक सूची है। यहां प्रत्येक मेलबॉक्स में स्ट्रिंग्स की एक सूची दी गई है, यहां प्रत्येक स्ट्रिंग या तो "J" जंक के लिए, "P" व्यक्तिगत के लिए, "W" कार्य के लिए है। हम पहले मेलबॉक्स से शुरू करके राउंड-रॉबिन क्रम में प्रत्येक मेलबॉक्स से गुजरेंगे, J को फ़िल्टर करके, एक सूची बनाएंगे और सूची लौटाएंगे।

उदाहरण के लिए, यदि इनपुट है mailboxes = [["W", "P"], ["J", "P", "J"], ["W"]], तो आउटपुट होगा ["W", "W", "P", "P"], क्योंकि क्रम में और फ़िल्टर किए बिना, हमारे पास W -> J -> W -> P -> P -> J है, अब चूंकि हम जंक को फ़िल्टर करते हैं हमें W -> W -> P -> P मिलता है।

हल करने के चरण

  • n_mailboxes := mailboxes का आकार।
  • result := एक नई सूची।
  • counts := आकार n_mailboxes की सूची, फिर 0 से भरें।
  • more := True
  • जब तक more शून्येतर है:
    • more := False
    • i को 0 से n_mailboxes तक:
      • index := counts[i], mailbox := mailboxes[i]
      • यदि index < mailbox का आकार, तो:
        • more := True
        • counts[i] := counts[i] + 1
        • mail := mailbox[index]
        • यदि mail != "J", तो mail को result के अंत में डालें।
  • result लौटाएं।

उदाहरण

class Solution:
    def solve(self, mailboxes):
        n_mailboxes = len(mailboxes)
        result = []
        counts = [0] * n_mailboxes
        more = True
        while more:
            more = False
            for i in range(n_mailboxes):
                index, mailbox = counts[i], mailboxes[i]
                if index < len(mailbox):
                    more = True
                    counts[i] += 1
                    mail = mailbox[index]
                    if mail != "J":
                        result.append(mail)
        return result

ob = Solution()
mailboxes = [["W", "P"], ["J", "P", "J"], ["W"]]
print(ob.solve(mailboxes))

इनपुट

[["W", "P"], ["J", "P", "J"], ["W"]]

आउटपुट

['W', 'W', 'P', 'P']
  1. पायथन प्रोग्राम: स्ट्रिंग से nth कैरेक्टर हटाएं पायथन प्रोग्राम: स्ट्रिंग से nth कैरेक्टर हटाएं

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट हमें एक स्ट्रिंग दी गई है, हमें दी गई स्ट्रिंग से i-वें इंडेक्स वाले कैरेक्टर को हटाना है और इसे प्रदर्शित करना है। पायथन में किसी भी स्ट्रिंग में, इंडेक्सिंग हमेशा 0 से शुरू होती है। मान लीजिए हमारे पा

  1. - पायथन प्रोग्राम: लिस्ट से यूनिक वैल्यूज़ प्रिंट करना

    एक लिस्ट दी गई है, हमारा कार्य सभी यूनिक नंबर्स प्रिंट करना है।उदाहरणInput: A = [1, 2, 3, 4, 2, 1, 9] Unique list is [1, 2, 3, 4, 9]एल्गोरिदमचरण 1: यूजर इनपुट लिस्ट बनाएं। चरण 2: एक खाली लिस्ट बनाएं। चरण 3: लिस्ट में सभी एलिमेंट्स को ट्रैवर्स करें। चरण 4: चेक करें कि यूनिक एलिमेंट मौजूद है या नहीं।

  1. - पायथन प्रोग्राम: IP एड्रेस से लीडिंग ज़ीरोज़ हटाना

    IP एड्रेस नीचे दिया गया है, हमारा कार्य IP एड्रेस से लीडिंग ज़ीरोज़ हटाना है। पहले हम दिए गए स्ट्रिंग को . से स्प्लिट करते हैं और फिर इसे इंटीजर में कन्वर्ट करते हैं और लीडिंग ज़ीरोज़ हटाते हैं फिर उन्हें वापस स्ट्रिंग में जोड़ते हैं।उदाहरणInput: 200.040.009.400 Output: 200.40.9.400एल्गोरिदमचरण 1: I