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

पायथन में सभी फिल्में दिखाने के लिए आवश्यक न्यूनतम मूवी थिएटर्स की संख्या खोजने का प्रोग्राम


मान लीजिए हमारे पास विभिन्न फिल्म शो के लिए अंतराल की एक सूची है (वे ओवरलैप हो सकते हैं), हमें न्यूनतम थिएटर्स की संख्या ढूंढनी है जो सभी फिल्मों को दिखाने के लिए आवश्यक हैं।

उदाहरण के लिए, यदि इनपुट intervals = [[20, 65],[0, 40],[50, 140]] है, तो आउटपुट 2 होगा, क्योंकि [20, 65] और [0, 40] ओवरलैप हो रहे हैं। [20, 65] और [50, 140] भी ओवरलैप हो रहे हैं लेकिन [0, 40] और [50, 140] नहीं। इसलिए हमें 2 थिएटर्स चाहिए।

समाधान दृष्टिकोण

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

  • t := एक नई सूची
  • प्रत्येक अंतराल [a, b] के लिए intervals में:
    • [a, 1] को t के अंत में डालें
    • [b, -1] को t के अंत में डालें
  • ans := 0, count := 0
  • प्रत्येक जोड़ी (x, d) के लिए t के सॉर्टेड रूप में:
    • count := count + d
    • ans := max(ans, count)
  • ans लौटाएं

उदाहरण कोड

class Solution:
    def solve(self, intervals):
        t = []
        for a, b in intervals:
            t.append((a, 1))
            t.append((b, -1))
        ans = count = 0
        for x, d in sorted(t):
            count += d
            ans = max(ans, count)
        return ans

ob = Solution()
intervals = [[20, 65],[0, 40],[50, 140]]
print(ob.solve(intervals))

इनपुट

[[20, 65],[0, 40],[50, 140]]

आउटपुट

2

  1. Python में सभी बिंदुओं को जोड़ने की न्यूनतम लागत खोजने का प्रोग्राम Python में सभी बिंदुओं को जोड़ने की न्यूनतम लागत खोजने का प्रोग्राम

    मान लीजिए हमारे पास points नामक एक ऐरे है जिसमें कुछ पॉइंट्स (x, y) के रूप में हैं। अब दो पॉइंट्स (xi, yi) और (xj, yj) को जोड़ने की लागत उनके बीच की मैनहट्टन दूरी है, सूत्र है |xi - xj| + |yi - yj|। हमें सभी पॉइंट्स को जोड़ने की न्यूनतम लागत ढूंढनी है। उदाहरण के लिए, यदि इनपुट है points = [(0,0),(

  1. Python से DAG में सभी नोड्स तक पहुंचने के लिए मिनिमम वर्टेक्स कैसे ढूंढें? Python से DAG में सभी नोड्स तक पहुंचने के लिए मिनिमम वर्टेक्स कैसे ढूंढें?

    डायरेक्टेड एसाइक्लिक ग्राफ (DAG) में जिन वर्टेक्सेज़ का इन-डिग्री 0 है, उनसे सभी नोड्स पहुंचे जा सकते हैं। एल्गोरिदम सभी नोड्स का सेट बनाएं (0 से n-1)। सभी एजेज़ के डेस्टिनेशन नोड्स (v) का सेट बनाएं। सोर्स नोड्स = सभी नोड्स - डेस्टिनेशन नोड्स (यानी इन-डिग्री 0 वाले)। यही मिनिमम वर्टेक्स सेट है। उद

  1. - पायथन में एक स्ट्रिंग को दूसरी स्ट्रिंग का सबस्ट्रिंग बनाने के लिए आवश्यक न्यूनतम संक्रियाओं की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास दो स्ट्रिंग्स s और t हैं, हमें s के लिए आवश्यक न्यूनतम संक्रियाओं की मात्रा ढूंढनी है ताकि t, s का सबस्ट्रिंग बन जाए। अब, प्रत्येक संक्रिया में, हम s में किसी भी स्थिति को चुन सकते हैं और उस स्थिति के वर्ण को किसी अन्य वर्ण में बदल सकते हैं। उदाहरण के लिए, यदि इनपुट है s = abbpq