আমাদেরকে 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