Given two strings, count and print the number of characters which is to be deleted to make the two strings anagrams.
Input:
cde
abc
Output:
4
Explanation:
We need to delete 4 characters to make both strings anagram. i.e., 'd' and 'e' from first string and 'b' & 'a' from second string.
Implementation:
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int main() {
char *s,*v;
int hash[26];
int i;
int sum=0;
memset(hash,0,sizeof(hash));
s=(char*)malloc(sizeof(char)*10000);
v=(char*)malloc(sizeof(char)*10000);
scanf("%s",s);
scanf("%s",v);
i=0;
while(*(s+i))
{
hash[*(s+i)-'a']++;
i++;
}
i=0;
while(*(v+i))
{
hash[*(v+i)-'a']--;
i++;
}
for(i=0;i<26;i++)
{
if(hash[i]>0)
sum+=hash[i];
else if(hash[i]<0)
sum+=abs(hash[i]);
}
printf("%d",sum);
return 0;
}