আমাদেরকে str1 এবং str2 বলে দুটি স্ট্রিং দেওয়া হয়েছে এবং কাজটি হল দুটি স্ট্রিং-এ সাধারণ অক্ষরের গণনা খুঁজে বের করা, অর্থাৎ যদি str1[i] =str[j] হয়, তাহলে সেগুলিকে জোড়া হিসেবে গণ্য করা হবে এবং সংখ্যা বৃদ্ধি পাবে। 1 থেকে এবং যদি str1[i]!=str2[j] হয়, তাহলে তাদের জোড়া হিসেবে গণ্য করা হবে না এবং গণনা 1-এ বাড়বে না।
উদাহরণস্বরূপ
Input − str1 = “hello” str2 = “heoo” Output − count is: 3
ব্যাখ্যা − str1[0] =str2[0] অর্থাৎ h; str1[1] =str2[1] অর্থাৎ e; str1[2]!=str2[2] অর্থাৎ l এবং o; str1[3]=str2[3] অর্থাৎ o সুতরাং, অনুরূপ অক্ষর সহ জোড়া 3 এবং 1 জোড়া বিভিন্ন অক্ষর ধারণকারী।
Input − str1 = “point” str2 = “print” Output − count is: 4
ব্যাখ্যা − str1[0] =str2[0] অর্থাৎ p; str1[1] !=str2[1] অর্থাৎ o এবং r; str1[2] =str2[2] অর্থাৎ i; str1[3]=str2[3] অর্থাৎ n; str1[4]=str2[4] অর্থাৎ টি. সুতরাং, অনুরূপ অক্ষর সহ জোড়া 4 এবং 1 জোড়া বিভিন্ন অক্ষর ধারণকারী।
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
str1 এবং str2
দুটি স্ট্রিং ইনপুট করুন -
length() ফাংশন ব্যবহার করে উভয় স্ট্রিং এর আকার গণনা করুন যা স্পেস সহ স্ট্রিং এর অক্ষর সংখ্যা অনুযায়ী একটি পূর্ণসংখ্যা মান প্রদান করবে।
-
প্রাথমিকভাবে, উভয় স্ট্রিং-এ অক্ষরের ফ্রিকোয়েন্সি 0 দিয়ে শুরু করুন।
-
এখন, str1 এর ফ্রিকোয়েন্সি আপডেট করার জন্য "f1[str1[i] - 'a']++" প্রয়োগ করুন যা প্রতি পুনরাবৃত্তির সাথে ফ্রিকোয়েন্সি বৃদ্ধি করবে এবং str2 এর সাথে একই প্রক্রিয়া প্রয়োগ করবে
-
জোড়ার সংখ্যা গণনা করার জন্য f1 এবং f2 এর জন্য min() ফাংশন প্রয়োগ করুন।
-
ফলাফল প্রদর্শন করুন
উদাহরণ
#include <iostream>
using namespace std;
// Function to count the valid indices pairs
int pairs(string str1, int size1, string str2, int size2){
// f1 and f2 for frequencies of characters
// of string str1 and str2
int f1[26] = { 0 };
int f2[26] = { 0 };
// 'c' To count the valid pairs
int i, c = 0;
//updating the frequencies of str1 and st2
for (i = 0; i < size1; i++){
f1[str1[i] - 'a']++;
}
for (i = 0; i < size2; i++){
f2[str2[i] - 'a']++;
}
// Find the count of valid pairs
for (i = 0; i < 26; i++){
c += (min(f1[i], f2[i]));
}
return c;
}
// main function
int main(){
string str1 = "tutorialspoint", str2 = "codingground";
int size1 = str1.length(), size2 = str2.length();
cout<<”Total pairs with str1[i]=str2[j] are: ”;
cout << pairs(str1, size1, str2, size2);
return 0;
} আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেTotal pairs with str1[i]=str2[j] are − 6