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

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


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

उदाहरण के लिए, यदि इनपुट [2, 5, 4] है, तो आउटपुट 2 होगा।

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

  • temp := nums सरणी की कॉपी
  • temp सूची को क्रमबद्ध करें
  • c1 := 0, c2 := 0
  • n := nums का आकार
  • i को 0 से n तक के लिए करें:
    • यदि nums[i], temp[i] के बराबर नहीं है, तो c1 := c1 + |nums[i] - temp[i]|
    • यदि nums[i], temp[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 और cuts नामक एक सरणी है। मान लीजिए n इकाई लंबाई की एक लकड़ी की छड़ी है। छड़ी 0 से n तक लेबल की गई है। यहां cuts[i] एक स्थिति दर्शाता है जहां हम काट सकते हैं। हमें कटौती क्रम में करनी चाहिए, लेकिन हम कटौती के क्रम को अपनी इच्छानुसार बदल सकते हैं। यहां एक कटौती की लागत का

  1. - Python में घरों को रंगने की न्यूनतम लागत खोजने का प्रोग्राम

    मान लीजिए आकार m का एक ऐरे है, जो एक छोटे शहर में m घरों को दर्शाता है, प्रत्येक घर को n रंगों में से एक से रंगा जाना चाहिए (रंग 1 से n तक लेबल किए गए हैं), और कुछ घर पहले से ही रंगे हुए हैं, इसलिए उन्हें फिर से रंगने की जरूरत नहीं है। जिन घरों का रंग समान है उन्हें नेबरहुड कहा जाता है। हमारे पास ऐ

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

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