function RemoveCharactersNeedToBeRemovedForAnagram(str1 : string, str2 : string) {
const TotalABCLetters = 26;
let count1 : number[] = Array(TotalABCLetters).fill(0);
let count2 : number[] = Array(TotalABCLetters).fill(0);
const size1 : number = str1.length;
const size2 : number = str2.length;
// count char frequency str1
for (let i : number = 0; i < size1; i++) {
count1[str1.charAt(i).charCodeAt(0) - 'a'.charCodeAt(0)]++;
}
// count char frequency str2
for (let i : number = 0; i < size2; i++) {
count2[str2.charAt(i).charCodeAt(0) - 'a'.charCodeAt(0)]++;
}
for (let i : number = 0; i < TotalABCLetters; i++) {
if (Math.abs(count1[i] - count2[i]) != 0) {
str1 = str1.replace(String.fromCharCode(i + 97), ""); // 'a' = 97 ascii
str2 = str2.replace(String.fromCharCode(i + 97), "");
}
}
const arr = [str1, str2];
return arr;
}
const str1 = "masterfx";
const str2 = "ksampret";
let [s1, s2] = RemoveCharactersNeedToBeRemovedForAnagram(str1, str2);
console.log(s1);
console.log(s2);
/*
run:
"master"
"samret"
*/