मान लीजिए कि हमारे पास आकार 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