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

पायथन में कितने कार्यों पर काम किया जाता है, यह पता लगाने के लिए कार्यक्रम

मान लीजिए कि हमारे पास अंतराल की एक सूची है जहां प्रत्येक अंतराल [प्रारंभ, अंत) जैसा है और हमारे पास प्रकार नामक तारों की एक सूची भी है। अब किसी दिए गए i के लिए, अंतराल [i] उस समय को दर्शाता है जब किसी ने नौकरी के प्रकारों पर काम किया [i] [शुरू, अंत से)। एक ही प्रकार के दो अंतराल कभी भी ओवरलैप या स्पर्श नहीं करते हैं। इसलिए हमें एक क्रमबद्ध मर्ज की गई सूची ढूंढनी होगी जहां प्रत्येक आइटम में [प्रारंभ, अंत, num_types] है, जो प्रारंभ से अंत तक इंगित करता है, num_types कार्यों की संख्या पर काम किया जा रहा था।

इसलिए, यदि इनपुट अंतराल =[[0, 3], [5, 7], [0, 7]] प्रकार =["समस्या समाधान", "समाचार", "गेम प्ले"] की तरह है, तो आउटपुट होगा हो [[0, 3, 2], [3, 5, 1], [5, 7, 2]], क्योंकि हमारे पास कुछ प्रकार के कार्य किए जा रहे हैं:[0, 3 के बीच] "समस्या समाधान" और " गेम प्ले", [3, 5) के बीच "गेम प्ले" और [5, 7) के बीच "न्यूज़" और "गेम प्ले"।

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

  • ev :=एक नई सूची

  • प्रत्येक अंतराल के लिए अंतराल में अंत जोड़ी (एस, ई) प्रारंभ करें, करें

    • ev के अंत में (s, 1) डालें

    • ev के अंत में (e, −1) डालें

  • सूची को क्रमबद्ध करें

  • cnt :=0, अंतिम :=−1

  • उत्तर :=एक नई सूची

  • प्रत्येक बार और घटनाओं के वृद्धि पैरामीटर (t, inc) के लिए ev, do

    • यदि t पिछले के समान नहीं है और cnt 0 के समान नहीं है, तो

      • सीएनटी:=सीएनटी + इंक

    • अंतिम:=टी

  • वापसी उत्तर

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

उदाहरण

class Solution:
   def solve(self, intervals, jobs):
      ev = []
      for s, e in intervals:
         ev.append((s, 1))
         ev.append((e, −1))
      ev.sort()
      cnt = 0
      last = −1
      ans = []
      for t, inc in ev:
         if t != last and cnt != 0:
            ans.append([last, t, cnt])
         cnt += inc
         last = t
      return ans
ob = Solution()
intervals = [
   [0, 3],
   [5, 7],
   [0, 7]
]
types = ["problem solving", "news", "game play"]
print(ob.solve(intervals, types))

इनपुट

[[0, 3],[5, 7],[0, 7]], ["problem solving", "news", "game play"]

आउटपुट

[[0, 3, 2], [3, 5, 1], [5, 7, 2]]

  1. पायथन में गोदाम में कितने बक्से रखे जा सकते हैं यह पता लगाने के लिए कार्यक्रम

    मान लीजिए, हमारे पास दो सरणियाँ हैं जिनमें पूर्णांक हैं। एक सूची में कुछ इकाई चौड़ाई वाले बक्सों की ऊँचाई होती है और दूसरी सूची में गोदाम में कमरों की ऊँचाई होती है। कमरों की संख्या 0...n है, और कमरों की ऊंचाई सरणी गोदाम में उनके संबंधित सूचकांक में प्रदान की जाती है। हमें पता लगाना है कि कितने बक्स

  1. कितने क्यूब्स काटे गए यह पता लगाने के लिए पायथन प्रोग्राम

    मान लीजिए, a, b, और c आयामों के कई घन हैं, और उनका उपयोग करके आयाम axbxc का एक नया बॉक्स बनाया जाता है। ए, बी, और सी जोड़ीदार सह-अभाज्य हैं; gcd(a, b) =gcd(b,c) =gcd(c, d) =1. हमें बॉक्स को एक ही स्लाइस से दो टुकड़ों में काटना है जैसा कि चित्र में दिखाया गया है। हमें यह पता लगाना है कि क्या डिब्बे क

  1. प्रोग्राम यह पता लगाने के लिए कि हम पायथन में कुल कितनी बारिश पकड़ सकते हैं

    मान लीजिए कि हमारे पास n गैर-ऋणात्मक पूर्णांकों की एक सरणी है। ये उस ऊंचाई का प्रतिनिधित्व कर रहे हैं जहां प्रत्येक बार की चौड़ाई 1 है, हमें गणना करनी होगी कि बारिश के बाद यह कितना पानी पकड़ने में सक्षम है। तो नक्शा इस तरह होगा - यहां हम देख सकते हैं कि 8 नीले बॉक्स हैं, इसलिए आउटपुट 8 होगा। इसे