সমস্যা বিবৃতি
N আকারের একটি অ্যারে দেওয়া হয়েছে এবং প্রতিটি উপাদান হল 1 বা 0। কাজটি হল সমস্ত উপাদানকে শূন্যে রূপান্তর করার জন্য ন্যূনতম কতগুলি অপারেশন করতে হবে তা গণনা করা। কেউ নিচের অপারেশন করতে পারে -
যদি একটি উপাদান 1 হয়, আপনি তার মান 0 এর সমান পরিবর্তন করতে পারেন -
-
পরের ধারাবাহিক উপাদানটি 1 হলে, এটি স্বয়ংক্রিয়ভাবে 0
-এ রূপান্তরিত হবে -
যদি পরবর্তী ধারাবাহিক উপাদানটি ইতিমধ্যে 0 হয়, তাহলে কিছুই হবে না।
যদি arr[] ={1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1} তাহলে সমস্ত উপাদানকে শূন্য করতে 4 অপারেশন প্রয়োজন হয়
অ্যালগরিদম
1. যদি বর্তমান উপাদানটি 1 হয় তাহলে গণনা বৃদ্ধি করুন এবং পরবর্তী 0 অনুসন্ধান করুন কারণ সমস্ত পরপর 1 স্বয়ংক্রিয়ভাবে 0.2 তে রূপান্তরিত হবে। চূড়ান্ত গণনা ফেরত দিনউদাহরণ
#include#define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) namespace ব্যবহার করে std;int performanceMinOperation(int *arr, int n){ int i, cnt =0; জন্য (i =0; i আউটপুট
আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট −
তৈরি করেসর্বনিম্ন প্রয়োজনীয় অপারেশন =4