কম্পিউটার

C++-এ অ্যারেতে সমস্ত উপাদান সমান করার জন্য ন্যূনতম অপারেশন


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

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;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++ অ্যারের সমস্ত উপাদানে XOR অপারেশন প্রয়োগ করে অ্যারের যোগফলকে মিনিমাইজ করা

  2. C++ এ একটি কো-প্রাইম অ্যারে তৈরি করতে ন্যূনতম সন্নিবেশ

  3. C++-এ অ্যারের সমস্ত উপাদান একই করতে ন্যূনতম ডিলিট অপারেশন।

  4. একটি অ্যারের (C++) মধ্যে সব জোড়া জোড়া ধারাবাহিক উপাদানের পরম পার্থক্য?