আসুন প্রথমে আমাদের প্রাথমিক স্ট্রিং ঘোষণা করি এবং এর দৈর্ঘ্য গণনা করি এবং তাদের deleteSubstr(str,length) ফাংশনে প্রেরণ করি।
string str = "01010110011"; int length = str.length(); cout <<"Count of substring deletion"<< deleteSubstr(str, length);
DeleteSubstr(string str, int length) ফাংশনের ভিতরে I দৈর্ঘ্যের চেয়ে কম না হওয়া পর্যন্ত লুপ চলে এবং যথাক্রমে 0 এবং 1 এর এনকাউন্টারে count_0 এবং count_1 ভেরিয়েবল বৃদ্ধি করে। ফাংশনটি তারপর কাউন্ট_0 এবং কাউন্ট_1 এর সর্বনিম্ন মান প্রদান করে।
int deleteSubstr(string str, int length){
int count_0 = 0, count_1 = 0;
for (int i = 0; i < length; i++) {
if (str[i] == '0')
count_0++;
else
count_1++;
}
return min(count_0, count_1);
} উদাহরণ
আসুন আমরা বাইনারি স্ট্রিং-এ “01” বা “10”-কে “01” বা “10”-
থেকে মুক্ত করার জন্য নিচের বাস্তবায়ন দেখি।#include <iostream>
using namespace std;
int deleteSubstr(string str, int length){
int count_0 = 0, count_1 = 0;
for (int i = 0; i < length; i++) {
if (str[i] == '0')
count_0++;
else
count_1++;
}
return min(count_0, count_1);
}
int main(){
string str = "01010110011";
int length = str.length();
cout <<"Count of substring deletion "<< deleteSubstr(str, length);
return 0;
} আউটপুট
উপরের কোডটি নিম্নলিখিত আউটপুট −
তৈরি করবেCount of substring deletion 5