সমস্যা বিবৃতি
n ধনাত্মক পূর্ণসংখ্যা সহ একটি অ্যারে দেওয়া হয়েছে। সমস্ত উপাদান সমান করতে আমাদের ন্যূনতম সংখ্যক অপারেশন খুঁজে বের করতে হবে। আমরা অ্যারের উপাদানের যেকোনো উপাদানের সাথে যোগ, গুণ, বিয়োগ বা ভাগ করতে পারি।
উদাহরণ
যদি ইনপুট অ্যারে হয় ={1, 2, 3, 4} তাহলে সমস্ত উপাদান সমান করতে আমাদের ন্যূনতম 3টি অপারেশন প্রয়োজন। উদাহরণস্বরূপ, আমরা 3টি সংযোজন করে উপাদান 4 তৈরি করতে পারি।
অ্যালগরিদম
<পূর্ব>1. সর্বাধিক ফ্রিকোয়েন্সি সহ উপাদান নির্বাচন করুন। আসুন এটিকে 'x'2 বলি। এখন আমাদের n-x অপারেশন করতে হবে কারণ একই মান সহ x উপাদান রয়েছেউদাহরণ
#includeusing namespace std;int getMinOperations(int *arr, int n) { unordered_map হ্যাশ; জন্য (int i =0;imaxFrequency) { maxFrequency =elem.second; } } রিটার্ন (n - maxFrequency);}int main() { int arr[] ={1, 2, 3, 4}; int n =sizeof(arr) / sizeof(arr[0]); cout <<"ন্যূনতম প্রয়োজনীয় অপারেশন =" < আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট তৈরি করে
আউটপুট
সর্বনিম্ন প্রয়োজনীয় অপারেশন =3