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

पायथन में सभी कार्यों को पूरा करने के लिए न्यूनतम समय खोजने का कार्यक्रम

मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है जहां प्रत्येक मान एक कार्य को पूरा करने में लगने वाले समय की एक इकाई निर्धारित कर रहा है। हम किसी भी गैर-लगातार कार्यों को छोड़ सकते हैं, हमें सभी कार्यों को पूरा करने में लगने वाले न्यूनतम समय का पता लगाना होगा।

इसलिए, यदि इनपुट संख्या =[11, 6, 8, 16] की तरह है, तो आउटपुट 14 होगा, क्योंकि हम पहले और अंतिम कार्यों को छोड़ सकते हैं।

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

  • n :=अंकों का आकार
  • तालिका :=एक n x 2 मैट्रिक्स बनाएं और इसे 0 से भरें
  • तालिका[0, 0] :=0
  • टेबल[0, 1] :=nums[0]
  • 1 से n-1 की श्रेणी में i के लिए
    • तालिका[i, 0] :=तालिका[i - 1, 1]
    • तालिका[i, 1] =(न्यूनतम तालिका[i-1, 0] और तालिका[i-1][1]) + अंक[i]
  • तालिका पंक्ति की न्यूनतम वापसी [n - 1]

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

उदाहरण

class Solution:
   def solve(self, nums):
      n = len(nums)
      table = [[0] * 2 for _ in range(n)]

      table[0][0] = 0
      table[0][1] = nums[0]

      for i in range(1, n):
         table[i][0] = table[i - 1][1]
         table[i][1] = min(table[i - 1][0], table[i - 1][1]) + nums[i]

      return min(table[n - 1])

ob = Solution()
nums = [11, 6, 8, 16]
print(ob.solve(nums))

इनपुट

[11, 6, 8, 16]

आउटपुट

14

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

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

  1. पायथन का उपयोग करके सभी नोड्स तक पहुंचने के लिए न्यूनतम संख्या में कोने खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक निर्देशित चक्रीय ग्राफ है, जिसमें n कोने हैं और नोड्स 0 से n-1 तक गिने जाते हैं, ग्राफ को किनारे की सूची द्वारा दर्शाया जाता है, जहां किनारों [i] =(यू, वी) नोड यू से एक निर्देशित किनारे का प्रतिनिधित्व करता है। नोड वी। हमें शिखर का सबसे छोटा सेट ढूंढना है जिससे ग्राफ में सभ

  1. पायथन में दी गई बाधाओं के साथ सभी कार्यों को पूरा करने के लिए न्यूनतम समय खोजें

    मान लीजिए कि हमारे पास अलग-अलग समय की आवश्यकताओं के साथ नौकरियों की एक सरणी है, नौकरी सौंपने के लिए k अलग-अलग व्यक्ति हैं और हमारे पास यह भी है कि एक असाइनी को नौकरी की एक इकाई को पूरा करने में कितना समय लगता है। हमें निम्न बाधाओं के साथ सभी कार्यों को पूरा करने के लिए न्यूनतम समय निकालना होगा। ए