Cho hai chuỗi. In các ký tự chung (xuất hiện ở cả hai) theo thứ tự a-z. Nếu không có ký tự chung, in "No common characters". Ví dụ: "adsfhslf" và "fsrakf" → a,f,f,s (a,f,s chung, f xuất hiện 2 lần ở chuỗi 2).
Mảng đếm 26 chữ cái
Đếm freq1[26], freq2[26]. Duyệt i=0..25: in ký tự 'a'+i lặp min(freq1[i], freq2[i]) lần.
Ví dụ minh họa
#include <bits/stdc++.h>
using namespace std;
int main() {
string s1 = "adjfrdggs";
string s2 = "gktressd";
int f1[26] = {0}, f2[26] = {0};
for (char c : s1) f1[c-'a']++;
for (char c : s2) f2[c-'a']++;
cout << "Ky tu chung: ";
for (int i = 0; i < 26; i++) {
int cnt = min(f1[i], f2[i]);
while (cnt--) cout << char('a'+i);
}
return 0;
}
Kết quả
Ky tu chung: dgrs