मान लीजिए हमारे पास एक गैर-खाली पूर्णांक सरणी है, हमें सभी सरणी तत्वों को समान बनाने के लिए आवश्यक न्यूनतम चालों की संख्या ढूंढनी है, जहां एक चाल चयनित तत्व को 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