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

Python में न्यूनतम चालें सरणी तत्वों को समान करने के लिए II

मान लीजिए हमारे पास एक गैर-खाली पूर्णांक सरणी है, हमें सभी सरणी तत्वों को समान बनाने के लिए आवश्यक न्यूनतम चालों की संख्या ढूंढनी है, जहां एक चाल चयनित तत्व को 1 से बढ़ाना या घटाना है। इसलिए जब सरणी [1, 2, 3] जैसी है, तो आउटपुट 2 होगा, क्योंकि 1 को 2 तक बढ़ाया जाएगा, और 3 को 2 तक घटाया जाएगा।

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

  • सरणी nums को सॉर्ट करें
  • काउंटर को 0 पर सेट करें
  • nums में i के लिए, करें
    • काउंटर := काउंटर + (i - nums[nums की लंबाई / 2]) का निरपेक्ष मान
  • काउंटर लौटाएं

उदाहरण (Python)

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

class Solution:
    def minMoves2(self, nums):
        nums.sort()
        counter = 0
        for i in nums:
            counter += abs(i - nums[len(nums) // 2])
        return counter
ob1 = Solution()
print(ob1.minMoves2([2, 5, 3, 4]))

इनपुट

[2,5,3,4]

आउटपुट

4
  1. - Python में सभी ऐरे तत्वों को बराबर बनाने के लिए आवश्यक ऑपरेशंस की संख्या

    हमें तत्वों का एक ऐरे दिया गया है, और हमें उन सभी को 1 से बढ़ाकर बराबर बनाना है। हमें प्रत्येक चरण में n - 1 तत्व बढ़ाने की अनुमति है। हमारा लक्ष्य सभी ऐरे तत्वों को बराबर बनाने के लिए आवश्यक कुल ऑपरेशंस की संख्या की गणना करना है। उदाहरण के लिए, यदि आप सूची [1, 2, 3] लेते हैं, तो सभी तत्वों को बराब

  1. - पायथन में सरणी में विशिष्ट तत्वों की गिनती

    पायथन में सूची में डुप्लिकेट तत्व हो सकते हैं। जब हम सूची की लंबाई गिनते हैं तो हमें डुप्लिकेट तत्वों सहित कुल लंबाई मिलती है। लेकिन इस लेख में हम देखेंगे कि सूची में विशिष्ट तत्वों या अद्वितीय तत्वों की कुल गिनती कैसे प्राप्त करें। उदाहरण नीचे दिए गए उदाहरण में हम collections मॉड्यूल से counter()

  1. - पायथन में bisect: ऐरे बाइसेक्शन एल्गोरिदम

    bisect मॉड्यूल सॉर्टेड लिस्ट में इंसर्शन पॉइंट ढूंढने और सॉर्टेड ऑर्डर बनाए रखते हुए इंसर्ट करने के लिए बाइनरी सर्च (बाइसेक्शन) एल्गोरिदम प्रदान करता है। O(log n) सर्च, O(n) इंसर्शन (लिस्ट शिफ्ट के कारण)। मुख्य फ़ंक्शन्स bisect_left(a, x, lo=0, hi=len(a)) इंसर्शन पॉइंट लौटाता है पहले किसी मौजूदा ए