প্রথমে প্রাথমিক স্ট্রিং ঘোষণা করা হয় এবং এর দৈর্ঘ্য নির্ণয় করে deleteSubstr(str, length) ফাংশনে পাস করা হয়।
string str = "01010110011"; int length = str.length(); cout << "Count of substring deletion " << deleteSubstr(str, length);
deleteSubstr(string str, int length) ফাংশনের ভিতরে একটি লুপ স্ট্রিং এর দৈর্ঘ্য পর্যন্ত চলে এবং '০' ও '১' مواجه করলে যথাক্রমে count_0 এবং count_1 ভেরিয়েবলগুলো বাড়ায়। ফাংশনটি count_0 ও count_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);
}
উদাহরণ
#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