How to count the characters need to be removed so that two strings become anagram in C#

1 Answer

0 votes
using System;

public class Program
{
	private static int CountCharactersNeedToBeRemovedForAnagram(string str1, string str2) {
		int TotalABCLetters = 26;

		int[] count1 = new int[TotalABCLetters];
		int[] count2 = new int[TotalABCLetters];

		int size1 = str1.Length;
		int size2 = str2.Length;

		// count char frequency str1
		for (int i = 0; i < size1; i++) {
			count1[str1[i] - 'a']++;
		}

		// count char frequency str2
		for (int i = 0; i < size2; i++) {
			count2[str2[i] - 'a']++;
		}

		int result = 0;
		for (int i = 0; i < TotalABCLetters; i++) {
			result += Math.Abs(count1[i] - count2[i]);
		}

		return result;
	}

	public static void Main(string[] args)
	{
		string str1 = "masterfx";
		string str2 = "ksampret";

		Console.Write(CountCharactersNeedToBeRemovedForAnagram(str1, str2));
	}
}





/*
run:
  
4
  
*/

 



answered Sep 28, 2022 by avibootz
...