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

Python में दी गई सूची में प्रत्येक यात्री को पिकअप और ड्रॉप किया जा सकता है या नहीं, इसकी जांच करने का प्रोग्राम


मान लीजिए हमारे पास requested_trips नामक एक मैट्रिक्स है जहां प्रत्येक पंक्ति में [start_x, end_x, num_passengers] होता है, और हमारे पास एक क्षमता मान भी है। अब प्रत्येक अनुरोधित ट्रिप start_x पर num_passengers यात्रियों को पिकअप करने और उन्हें end_x पर ड्रॉप करने के लिए कहती है। हमारे पास दी गई क्षमता वाली एक कार है, और हम x = 0 पर शुरू करते हैं। हम हर यात्री को पिकअप करना चाहते हैं और केवल दाईं ओर जा सकते हैं, हमें यह जांचना है कि क्या हम सभी को पिकअप और ड्रॉप ऑफ कर सकते हैं।

तो, यदि इनपुट trips = [[1, 25, 2], [3, 4, 3], [5, 12, 3]], capacity = 6 जैसा है, तो आउटपुट True होगा।

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

  • events := एक नई सूची
  • प्रत्येक सेट (sx, ex, np) ट्रिप्स में के लिए, करें
    • (sx, np) जोड़ी को events के अंत में डालें
    • (ex, -np) जोड़ी को events के अंत में डालें
  • carrying := 0
  • घटनाओं की सॉर्ट की गई सूची में प्रत्येक जोड़ी (loc, delta) के लिए, करें
    • carrying := carrying + delta
    • यदि carrying > capacity, तो False लौटाएं
  • True लौटाएं

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

उदाहरण


class Solution:
    def solve(self, trips, capacity):
        events = []
        for sx, ex, np in trips:
            events.append((sx, np))
            events.append((ex, -np))
        carrying = 0
        for loc, delta in sorted(events):
            carrying += delta
            if carrying > capacity:
                return False
        return True

ob = Solution()
trips = [
    [1, 25, 2],
    [3, 4, 3],
    [5, 12, 3]
]
capacity = 6
print(ob.solve(trips, capacity))

इनपुट

trips = [ [1, 25, 2], [3, 4, 3], [5, 12, 3] ]
capacity = 6

आउटपुट

True
  1. दिए गए ब्लॉक्स की सूची x = y रेखा पर सममित है या नहीं जांचने का पायथन प्रोग्राम दिए गए ब्लॉक्स की सूची x = y रेखा पर सममित है या नहीं जांचने का पायथन प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है। और यह वर्ग ब्लॉक्स की ऊंचाई को दर्शाता है, हमें जांचना है कि क्या आकृति y = x रेखा पर सममित है या नहीं। उदाहरण के लिए, यदि इनपुट nums = [7, 5, 3, 2, 2, 1, 1] है, तो आउटपुट True होगा। इसे हल करने के लिए, हम निम्न चरणों का पालन करेंगे: i := 0 j

  1. Python में दिया गया ट्री सममित ट्री है या नहीं, इसकी जांच करने का प्रोग्राम Python में दिया गया ट्री सममित ट्री है या नहीं, इसकी जांच करने का प्रोग्राम

    मान लीजिए हमारे पास एक बाइनरी ट्री है। हमें यह जांचना है कि ट्री सममित ट्री है या नहीं। एक ट्री को सममित कहा जाएगा यदि यह उसके दर्पण छवि लेने पर समान हो। इन दो ट्री में से पहला सममित है, लेकिन दूसरा नहीं। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे। हम निम्नलिखित चरणों को रिकर्सिवली कॉल करे

  1. पायथन में जांचें कि दिया गया ग्राफ द्विभाजित है या नहीं पायथन में जांचें कि दिया गया ग्राफ द्विभाजित है या नहीं

    मान लीजिए हमारे पास एक अविकल्पित ग्राफ है, हमें जांचना है कि ग्राफ द्विभाजित है या नहीं। जैसा कि हम जानते हैं, एक ग्राफ द्विभाजित होता है जब हम ग्राफ के नोड्स को दो सेट A और B में विभाजित कर सकते हैं ताकि ग्राफ में प्रत्येक किनारा {u,v} का एक नोड u A में और दूसरा नोड v B में हो। उदाहरण के लिए, यदि