কম্পিউটার

C++-এ সমস্ত অ্যারের উপাদানগুলিকে সমান করতে প্রয়োজনীয় ন্যূনতম অপারেশন


সমস্যা বিবৃতি

n ধনাত্মক পূর্ণসংখ্যা সহ একটি অ্যারে দেওয়া হয়েছে। সমস্ত উপাদান সমান করতে আমাদের ন্যূনতম সংখ্যক অপারেশন খুঁজে বের করতে হবে। আমরা অ্যারের উপাদানের যেকোনো উপাদানের সাথে যোগ, গুণ, বিয়োগ বা ভাগ করতে পারি।

উদাহরণ

যদি ইনপুট অ্যারে হয় ={1, 2, 3, 4} তাহলে সমস্ত উপাদান সমান করতে আমাদের ন্যূনতম 3টি অপারেশন প্রয়োজন। উদাহরণস্বরূপ, আমরা 3টি সংযোজন করে উপাদান 4 তৈরি করতে পারি।

অ্যালগরিদম

<পূর্ব>1. সর্বাধিক ফ্রিকোয়েন্সি সহ উপাদান নির্বাচন করুন। আসুন আমরা একে 'x' 2 বলি। এখন আমাদের n-x অপারেশন করতে হবে কারণ একই মান সহ x উপাদান রয়েছে

উদাহরণ

#include নেমস্পেস ব্যবহার করে std;int getMinOperations(int *arr, int n) { unordered_map হ্যাশ; জন্য (int i =0;i  maxFrequency) { maxFrequency =elem.second; } } রিটার্ন (n - maxFrequency);}int main() { int arr[] ={1, 2, 3, 4}; int n =sizeof(arr) / sizeof(arr[0]); cout <<"ন্যূনতম প্রয়োজনীয় অপারেশন =" < 

আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট তৈরি করে:

আউটপুট

সর্বনিম্ন প্রয়োজনীয় অপারেশন =3

  1. C++-এ সমস্ত অ্যারের উপাদানকে সমান করতে প্রয়োজনীয় ক্রিয়াকলাপগুলির সংখ্যা খুঁজুন

  2. C++ এ সাজানো অ্যারেতে ছোট বা সমান উপাদানের গণনা

  3. C++ এ একটি প্রদত্ত সংখ্যা K দ্বারা বিভাজ্য অ্যারের সমস্ত উপাদানের গুণফল

  4. C++ এ একটি অনির্দেশিত গ্রাফের সমস্ত সংযুক্ত উপাদানের ন্যূনতম উপাদানগুলির সমষ্টি