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

पायथन में D दिनों के भीतर पैकेज शिप करने की क्षमता


मान लीजिए एक कन्वेयर बेल्ट पर पैकेज हैं जिन्हें D दिनों के भीतर एक पोर्ट से दूसरे पोर्ट पर शिप किया जाएगा। यहां कन्वेयर बेल्ट पर i-वां पैकेज का वजन weights[i] है। प्रत्येक दिन, हम शिप को बेल्ट पर पैकेज के साथ लोड करेंगे। हम शिप की अधिकतम वजन क्षमता से अधिक वजन लोड नहीं करेंगे। हमें शिप की सबसे कम वजन क्षमता ढूंढनी है जिसके परिणामस्वरूप कन्वेयर बेल्ट पर सभी पैकेज D दिनों के भीतर शिप हो जाएंगे। इसलिए यदि इनपुट [3,2,2,4,1,4] और D = 3 है, तो आउटपुट 6 होगा, क्योंकि 6 की शिप क्षमता 3 दिनों में सभी पैकेज शिप करने के लिए न्यूनतम है, जैसे -

  • दिन 1: 3, 2

  • दिन 2: 2, 4

  • दिन 3: 1, 4

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

  • solve() नामक एक रिकर्सिव फंक्शन परिभाषित करें। यह weights ऐरे, maxWeight, और ships ऐरे लेगा, यह इस तरह कार्य करेगा -

  • index := 0

  • i को 0 से ships ऐरे की लंबाई तक रेंज में

    • ships[i] := 0

    • जब तक index < weights की लंबाई और ships[i] + weights[index] <= maxWeight

      • ships[i] := ships[i] + weights[index]

      • index को 1 से बढ़ाएं

  • true लौटाएं, जब index = weights की लंबाई, अन्यथा false

  • मुख्य मेथड इस तरह कार्य करेगा

  • ships := D के समान आकार का एक ऐरे, और इसे 0 से भरें

  • maxWeight := weights का अधिकतम

  • low := maxWeight, high := maxWeight + weights ऐरे की लंबाई + 1

  • जब तक low < high

    • mid := low + (high - low)/2

    • यदि solve(weights, mid, ships) true है, तो high := mid, अन्यथा low := mid + 1

  • high लौटाएं

उदाहरण

class Solution(object):
    def shipWithinDays(self, weights, D):
        ships = [0 for i in range(D)]
        max_w = max(weights)
        low = max_w
        high = max_w * len(weights)+1
        while low

इनपुट

[3,2,2,4,1,4] 3

आउटपुट

6

  1. Python में Pip का उपयोग करके पैकेज प्रबंधित करें Python में Pip का उपयोग करके पैकेज प्रबंधित करें

    Python में अपने पैकेज प्रबंधित करना एक बोझिल कार्य हो सकता है। यह लेख उपयोगी कमांड्स पर चर्चा करता है और pip का उपयोग करके अपने पैकेज प्रबंधित करने में मदद करने के लिए संसाधन प्रदान करता है, साथ ही pipenv और virtualenv के बीच अंतर भी बताता है। हम Django नामक एक शक्तिशाली फ्रेमवर्क को भी कवर करेंगे।

  1. Python में Anaconda एनवायरनमेंट में पैकेज जोड़ना Python में Anaconda एनवायरनमेंट में पैकेज जोड़ना

    हमारे मौजूदा Anaconda एनवायरनमेंट में पैकेज जोड़ने के कई तरीके हैं। विधि 1 - एक सामान्य दृष्टिकोण Anaconda Navigator का उपयोग करके हमारे Anaconda एनवायरनमेंट में पैकेज जोड़ना है। एक बार Anaconda Navigator खुलने पर, होम पेज कुछ इस तरह दिखेगा - होम टैब के ठीक नीचे Environments टैब पर जाएं और वहां

  1. - पायथन में लूप के भीतर एक्सेप्शन कैसे हैंडल करें?

    हम कोड में एक्सेप्शन को निम्न प्रकार से फिर से लिखकर हैंडल कर सकते हैं: a = [] foo = redbullz try: for i in foo: a.append(i) print(a[8]) except Exception as e: print(e) हमें निम्न आउटपुट मिलता है: list index out of range Process finished with exit code 0