আমরা স্ট্রিং str দেওয়া হয়. লক্ষ্য হল str এর সাবস্ট্রিংগুলির সংখ্যা গণনা করা যার শুরুর অক্ষর X অক্ষরের মতো এবং শেষের অক্ষরটি Y অক্ষরের মতো। উদাহরণস্বরূপ, যদি ইনপুট হয় “আর্ট্যাক্ট” এবং X='a' এবং Y='t', সাবস্ট্রিং হবে “আর্ট”, “অ্যাক্ট”, “আর্ট্যাক্ট”। গণনা 3।
আসুন উদাহরণ দিয়ে বুঝতে পারি।
ইনপুট − str="abcccdef" X='a' Y='c'
আউটপুট −সাবস্ট্রিংগুলির সংখ্যা যা X অক্ষর দিয়ে শুরু হয় এবং Y দিয়ে শেষ হয় −3
ব্যাখ্যা − সাবস্ট্রিং হবে
“abc”, “abcc”, “abccc”. Total 3.
ইনপুট − str="Temest" X='t' Y='t'
আউটপুট − সাবস্ট্রিংগুলির সংখ্যা যা X অক্ষর দিয়ে শুরু হয় এবং Y দিয়ে শেষ হয় −3
ব্যাখ্যা − সাবস্ট্রিং হবে −
“t” , “tempest” , “t”. Total 3
নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ
আমরা X এর স্ট্রিং এবং ইনক্রিমেন্ট গণনা অতিক্রম করব। যদি Y এর সম্মুখীন হয় তাহলে X দিয়ে শুরু হওয়া এবং Y দিয়ে শেষ হওয়া স্ট্রিংগুলির সংখ্যায় X গণনা যোগ করুন।
-
স্ট্রিং str নিন. str.size().
হিসাবে দৈর্ঘ্য গণনা করুন -
ফাংশন X_Y(স্ট্রিং str, int length, char X, char Y) স্ট্রিং str, অক্ষর X, Y নেয় এবং str এর সাবস্ট্রিংগুলির গণনা প্রদান করে যা X দিয়ে শুরু হয় এবং Y দিয়ে শেষ হয়৷
-
0 হিসাবে প্রাথমিক গণনা নিন।
-
str.
এ অক্ষর X এর গণনা হিসাবে x_total নিন -
লুপের জন্য ব্যবহার করে ট্রাভার্স str. i=0 থেকে i<দৈর্ঘ্য।
-
str[i]==X হলে, str (x_total++) এ X-এর সংখ্যা বৃদ্ধি।
-
str[i]==Y হলে, গণনার জন্য x_total যোগ করুন। X না থাকলে x_total হবে 0, অন্যথায়, Y হল সাবস্ট্রিং এর শেষ অক্ষর যা X থেকে শুরু হয়েছে।
-
পছন্দসই ফলাফল হিসাবে রিটার্ন গণনা করুন।
উদাহরণ
#include <bits/stdc++.h> using namespace std; int X_Y(string str, int length, char X, char Y){ int count = 0; int x_total = 0; for (int i = 0; i < length; i++){ if(str[i] == X){ x_total++; } if (str[i] == Y){ count = count + x_total; } } return count; } int main(){ string str = "defaabbcchhkl"; int length = str.size(); char X = 'd'; char Y = 'a'; cout<<"Count of substrings that starts with character X and ends with character Y are: "<<X_Y(str, length, X, Y); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of substrings that starts with character X and ends with character Y are: 2