मान लीजिए कि हमारे पास आकार n की एक सरणी है, हमें सभी सरणी तत्वों को समान बनाने के लिए आवश्यक न्यूनतम संख्या में चालों को खोजना होगा, जहां एक चाल का अर्थ है n - 1 तत्वों को 1 से बढ़ाना।
तो, अगर इनपुट [3,2,3,4] जैसा है, तो आउटपुट 4 होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
n :=अंकों का आकार
-
यदि n, 0 के समान है, तो -
-
वापसी 0
-
-
सरणी संख्याओं को क्रमबद्ध करें
-
उत्तर :=0
-
इनिशियलाइज़ i:=0 के लिए, जब i
-
उत्तर:=उत्तर + अंक [i] - अंक [0]
-
-
वापसी उत्तर
उदाहरण
आइए एक बेहतर समझ प्राप्त करने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h> using namespace std; class Solution { public: int minMoves(vector<int>& nums) { int n = nums.size(); if (n == 0) return 0; sort(nums.begin(), nums.end()); int ans = 0; for (int i = 0; i < n; i++) { ans += nums[i] - nums[0]; } return ans; } }; main(){ Solution ob; vector<int> v = {3,2,3,4}; cout << (ob.minMoves(v)); }
इनपुट
{3,2,3,4}
आउटपुट
4