দুটি স্ট্রিং দেওয়া আছে। উভয় স্ট্রিংয়ে কমন ক্যারেক্টরগুলো অ্যালফাবেটিক্যাল অর্ডারে প্রিন্ট করতে হবে। কমন ক্যারেক্টর না থাকলে "No common characters" প্রিন্ট করুন।
উদাহরণ ১: string1="adsfhslf", string2="fsrakf" → আউটপুট: affs (কমন: a,f,s; লেক্সিকোগ্রাফিক্যালি: afs, কিন্তু ফ্রিকোয়েন্সি অনুযায়ী a:১, f:২, s:১ → affs)।
উদাহরণ ২: string1="abcde", string2="glhyte" → আউটপুট: No common characters
- দুটি ফ্রিকোয়েন্সি অ্যারে a1[26], a2[26] দিয়ে কাউন্ট করুন।
- a থেকে z পর্যন্ত লুপ করে min(a1[i], a2[i]) বার ক্যারেক্টর প্রিন্ট করুন।
#include <bits/stdc++.h>
using namespace std;
int main() {
string string1 = "adjfrdggs";
string string2 = "gktressd";
cout << "The strings are " << string1 << " and " << string2;
cout << "\nThe common characters are : ";
int a1[26] = {0};
int a2[26] = {0};
for (int i = 0; i < string1.length(); i++)
a1[(int)string1[i] - 'a']++;
for (int i = 0; i < string2.length(); i++)
a2[(int)string2[i] - 'a']++;
for (int i = 0; i < 26; i++) {
if (a1[i] != 0 && a2[i] != 0) {
for (int j = 0; j < min(a1[i], a2[i]); j++)
cout << char('a' + i);
}
}
return 0;
}
The strings are adjfrdggs and gktressd The common characters are : dgrs