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

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

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

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

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

  • n_mailboxes :=मेलबॉक्स का आकार
  • परिणाम:=एक नई सूची
  • गणना :=n_mailboxes के आकार की एक सूची, फिर 0 से भरें
  • अधिक :=सत्य
  • जबकि अधिक शून्य नहीं है, करें
    • अधिक :=गलत
    • मेरे लिए 0 से n_mailboxes की सीमा में, करें
      • सूचकांक:=मायने रखता है[i], मेलबॉक्स:=मेलबॉक्स[i]
      • यदि अनुक्रमणिका <मेलबॉक्स का आकार है, तो
        • अधिक :=सत्य
        • गिनती[i] :=मायने रखता है[i] + 1
        • मेल:=मेलबॉक्स[सूचकांक]
        • यदि मेल "J" के समान नहीं है, तो
          • परिणाम के अंत में मेल डालें
  • वापसी का परिणाम

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

उदाहरण

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 कैरेक्टर को हटाना

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

  1. एक सूची से अद्वितीय मान मुद्रित करने के लिए पायथन प्रोग्राम

    एक सूची को देखते हुए, हमारा काम सभी विशिष्ट नंबरों को प्रिंट करना है। उदाहरण Input:A = [1, 2, 3, 4, 2, 1, 9] Unique list is [1, 2, 3, 4, 9] एल्गोरिदम Step 1: Create user input list. Step 2: Create an empty list. Step 3: Traverse all elements in the list. Step 4: Check the unique element is present o

  1. एक आईपी पते से अग्रणी 0 को हटाने के लिए पायथन कार्यक्रम

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