সমস্যা বিবৃতি
একটি বাইনারি অ্যারে দেওয়া হয়েছে, অনুমোদিত সাবয়ারের একটি ফ্লিপ সহ একটি অ্যারেতে সর্বাধিক সংখ্যক শূন্য খুঁজুন। একটি ফ্লিপ অপারেশন সমস্ত 0s থেকে 1s এবং 1s থেকে 0s
পর্যন্ত পরিবর্তন করেযদি arr1={1, 1, 0, 0, 0, 0, 0}
যদি আমরা প্রথমে 2 1’s থেকে 0’s ফ্লিপ করি, তাহলে আমরা নিম্নরূপ 7 সাইজের সাব্যারে পেতে পারি -
{0, 0, 0, 0, 0, 0, 0}
অ্যালগরিদম
<পূর্ব>1. সমস্ত সাবঅ্যারে বিবেচনা করুন এবং (1s-এর গণনা)- (0s-এর গণনা)2-এর সর্বাধিক মান সহ একটি সাবঅ্যারে খুঁজুন। এই মানটিকে maxDiff হিসেবে বিবেচনা করে। অবশেষে আসল অ্যারে + maxDiff-এ শূন্যের সংখ্যা ফেরত দিন।উদাহরণ
#includeনেমস্পেস ব্যবহার করে std;int getMaxSubArray(int *arr, int n){ int maxDiff =0; int zeroCnt =0; জন্য (int i =0; i আউটপুট
আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট-
তৈরি করেসর্বোচ্চ সাবয়ারের আকার =7