Cho 2 chuỗi, tìm các ký tự chỉ xuất hiện ở một trong hai (symmetric difference).
Kết quả = (A - B) ∪ (B - A).
Chương trình C++ (dùng frequency array)
#include <bits/stdc++.h>
using namespace std;
string uncommonChars(string A, string B) {
vector freqA(256,0), freqB(256,0);
for (char c : A) freqA[(unsigned char)c]++;
for (char c : B) freqB[(unsigned char)c]++;
string res;
for (int i = 0; i < 256; i++) {
if ((freqA[i] > 0) != (freqB[i] > 0)) // XOR logic
res += char(i);
}
return res;
}
int main() {
string s1 = "afbde", s2 = "wabq";
cout << "Uncommon chars: " << uncommonChars(s1, s2) << "\n";
return 0;
}
Kết quả
Uncommon chars: fdewq
Thứ tự có thể khác do duyệt theo mã ASCII. Có thể sort kết quả nếu cần.