একটি অ্যারে দেওয়া আছে। একটি মুভ মানে n-1টি উপাদান ১ করে বাড়ানো। সব উপাদান সমান করার জন্য ন্যূনতম মুভ কত লাগবে তা বের করুন।
উদাহরণ: [3,2,3,4] হলে আউটপুট ৪।
সমাধানের ধাপসমূহ
- n := nums.size()।
- যদি n == 0, 0 রিটার্ন করুন।
- অ্যারে সর্ট করুন।
- ans := 0।
- প্রতিটি i এর জন্য ans += nums[i] - nums[0]।
- ans রিটার্ন করুন।
C++ কোড উদাহরণ
#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;
}
};
int main() {
Solution ob;
vector<int> v = {3,2,3,4};
cout << ob.minMoves(v);
return 0;
}
ইনপুট
{3,2,3,4}
আউটপুট
4