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

पायथन में आरोही या अवरोही क्रम में संख्याओं को व्यवस्थित करने के लिए न्यूनतम लागत खोजने का कार्यक्रम

मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है, हमें सूची को किसी भी क्रम (आरोही या अवरोही) में क्रमबद्ध करने के लिए न्यूनतम लागत का पता लगाना होगा। यहां लागत किसी भी तत्व के पुराने और नए मूल्य के बीच अंतर का योग है।

इसलिए, अगर इनपुट [2, 5, 4] जैसा है, तो आउटपुट 2 होगा।

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

  • अस्थायी:=सरणी अंकों की प्रतिलिपि बनाएँ
  • सूची अस्थायी क्रमित करें
  • c1:=0, c2:=0
  • n:=अंकों का आकार
  • मैं के लिए 0 से n की सीमा में, करते हैं
    • यदि अंक [i] अस्थायी [i] के समान नहीं है, तो
      • c1 :=c1 + |nums[i]-temp[i]|
    • यदि अंक [i] अस्थायी [n-1-i] के समान नहीं है, तो
      • c2 :=c2 + |nums[i]-temp[n-i-1]|
  • कम से कम c1 और c2 लौटाएं

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

उदाहरण

class Solution:
   def solve(self, nums):
      temp=nums.copy()
      temp.sort()
      c1=0
      c2=0
      n=len(nums)
      for i in range(n):
         if nums[i]!=temp[i]:
            c1+=abs(nums[i]-temp[i])
         if nums[i]!=temp[n-1-i]:
            c2+=abs(nums[i]-temp[n-i-1])
      return min(c1,c2)
ob = Solution()
print(ob.solve([2, 5, 4]))

इनपुट

[2, 5, 4]

आउटपुट

2

  1. पायथन में एक छड़ी काटने के लिए न्यूनतम लागत खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक मान n और एक सरणी है जिसे कट कहा जाता है। मान लीजिए कि लंबाई n इकाइयों की लकड़ी की छड़ी है। छड़ी को 0 से n तक लेबल किया गया है। यहां कटौती [i] उस स्थिति का प्रतिनिधित्व करती है जहां हम कटौती कर सकते हैं। हमें कटौती क्रम में करनी चाहिए, लेकिन हम कटौती के क्रम को अपनी इच्छानुस

  1. पायथन में घरों की पेंटिंग के लिए न्यूनतम लागत खोजने का कार्यक्रम

    मान लीजिए कि आकार m की एक सरणी है, एक छोटे से शहर में m घरों का प्रतिनिधित्व करता है, प्रत्येक घर को n रंगों में से एक के साथ चित्रित किया जाना चाहिए (रंगों को 1 से n तक लेबल किया गया है), और कुछ घर पहले से ही चित्रित हैं, इसलिए कोई आवश्यकता नहीं है फिर से पेंट करें। वे घर जो एक ही रंग से रंगे होते

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

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