#include <stdio.h>
#include <string.h>
int commonCharacters(char *str1, char *str2) {
int count = 0;
int freq1[256] = {0};
int freq2[256] = {0};
// Count frequency of each character in str1
for (int i = 0; str1[i] != '\0'; i++) {
freq1[(unsigned char)str1[i]]++;
}
// Count frequency of each character in str2
for (int i = 0; str2[i] != '\0'; i++) {
freq2[(unsigned char)str2[i]]++;
}
// Find common characters
for (int i = 0; i < 256; i++) {
if (freq1[i] > 0 && freq2[i] > 0) {
count += (freq1[i] < freq2[i]) ? freq1[i] : freq2[i];
}
}
return count;
}
int main() {
char str1[] = "abcdefg";
char str2[] = "xayzgoe";
int result = commonCharacters(str1, str2);
printf("Number of common characters: %d\n", result);
}
/*
run:
Number of common characters: 3
*/