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

पायथन में दूरस्थ बारकोड

मान लीजिए एक गोदाम में बारकोड की एक पंक्ति है। i-वां बारकोड barcodes[i] है। हमें बारकोड को पुनर्व्यवस्थित करना है ताकि कोई दो आसन्न बारकोड समान न हों। इसलिए यदि इनपुट [1,1,1,2,2,2] है तो आउटपुट [2,1,2,1,2,1] होगा।

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

  • d नामक एक मैप बनाएं
  • बारकोड सरणी में मौजूद संख्याओं की आवृत्ति को d में संग्रहीत करें
  • x := खाली सूची
  • सभी की-वैल्यू जोड़ियों को x में डालें
  • i := 0
  • res := बारकोड के समान लंबाई की एक सूची बनाएं, और [0] से भरें
  • आवृत्ति के आधार पर x को क्रमबद्ध करें
  • जबकि i < परिणाम की लंबाई
    • result[i] := x की अंतिम प्रविष्टि का तत्व
    • x की अंतिम प्रविष्टि के आवृत्ति मान को घटाएं
    • यदि x के अंतिम तत्व की आवृत्ति 0 है, तो उस प्रविष्टि को x से हटाएं
    • i को 2 से बढ़ाएं
  • i := 1
  • जबकि i < परिणाम की लंबाई
    • result[i] := x की अंतिम प्रविष्टि का तत्व
    • x की अंतिम प्रविष्टि के आवृत्ति मान को घटाएं
    • यदि x के अंतिम तत्व की आवृत्ति 0 है, तो उस प्रविष्टि को x से हटाएं
    • i को 2 से बढ़ाएं
  • result लौटाएं

उदाहरण

class Solution(object):
    def rearrangeBarcodes(self, barcodes):
        d = {}
        for i in barcodes:
            if i not in d:
                d[i] = 1
            else:
                d[i] += 1
        x = []
        for a, b in d.items():
            x.append([a, b])
        i = 0
        result = [0] * len(barcodes)
        x = sorted(x, key=lambda v: v[1])
        while i < len(result):
            result[i] = x[-1][0]
            x[-1][1] -= 1
            if x[-1][1] == 0:
                x.pop()
            i += 2
        i = 1
        while i < len(result):
            result[i] = x[-1][0]
            x[-1][1] -= 1
            if x[-1][1] == 0:
                x.pop()
            i += 2
        return result

ob = Solution()
print(ob.rearrangeBarcodes([1,1,1,2,2,2]))

इनपुट

[1,1,1,2,2,2]

आउटपुट

[2, 1, 2, 1, 2, 1]
  1. पायथन में issuperset() फंक्शन पायथन में issuperset() फंक्शन

    इस लेख में, हम पायथन में issuperset() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे।यह मेथड बूलियन True वापस करता है यदि सेट B के सभी तत्व सेट A के सभी तत्वों को समाहित करते हैं जिसे तर्क के रूप में पारित किया जाता है और झूठा वापस करता है यदि A के सभी तत्व B में मौजूद नहीं हैं।इसका म

  1. - पायथन में अंडरस्कोर (_)

    पायथन में कुछ मामलों में हम सिंगल अंडरस्कोर (_) और कुछ मामलों में डबल अंडरस्कोर (__) का उपयोग करते हैं। पायथन में निम्नलिखित मामले हैं, जहां हम अंडरस्कोर का उपयोग करते हैं। यदि हम इंटरप्रेटर में अंतिम अभिव्यक्ति का मान स्टोर करना चाहते हैं। यदि हम कुछ मानों को अनदेखा करना चाहते हैं। वेरिएबल या फ़ं

  1. - पायथन में क्वाइन (Quine)

    क्वाइन एक प्रोग्राम है, जो कोई इनपुट नहीं लेता, लेकिन यह आउटपुट उत्पन्न करता है। यह अपना स्वयं का सोर्स कोड दिखाएगा। इसके अतिरिक्त, क्वाइन की कुछ शर्तें हैं। हम प्रोग्राम के अंदर सोर्स कोड फ़ाइल नहीं खोल सकते। उदाहरण कोड a=a=%r;print (a%%a);print (a%a) आउटपुट a=a=%r;print (a%%a);print (a%a) यह क्व