Given two strings in lowercase, the task is to make them Anagram. The only allowed operation is to remove a character from any string. Find minimum number of characters to be deleted to make both the strings anagram?
If two strings contains same data set in any order then strings are called Anagrams.
Input : str1 = "bcadeh" str2 = "hea" Output: 3 We need to remove b, c and d from str1. Input : str1 = "cddgk" str2 = "gcd" Output: 2 Input : str1 = "bca" str2 = "acb" Output: 0
This problem has existing solution please refer Remove minimum number of characters so that two strings become anagram link. We will solve this problem in python quickly using Counter() and Dictionary Data Structure and intersection property of Set data structure. Approach is very simple,
- Convert each string into a dictionary data structure using Counter(iterable) method.
- Count number of keys in both dictionaries ( count1, count2) and count number of keys common in both dictionaries.
- If no common keys found that means we need to remove count1 + count2 characters from both the strings.
- Else (max(count1, count2) – countCommon) will be the number of characters to be removed
- Minimum Number of Manipulations required to make two Strings Anagram Without Deletion of Character
- Python Counter to find the size of largest subset of anagram words
- Anagram checking in Python using collections.Counter()
- Minimum removal to make palindrome permutation
- Find the minimum number of preprocess moves required to make two strings equal
- Remove minimum number of characters so that two strings become anagram
- Python counter and dictionary intersection example (Make a string using deletion and rearrangement)
- Python sorted() to check if two strings are anagram or not
- Python | Minimum number of subsets with distinct elements using Counter
- Minimum operation require to make first and last character same
- Minimum cost to make two strings same
- Minimum Cost To Make Two Strings Identical
- Dictionary and counter in Python to find winner of election
- Python Counter| Find all duplicate characters in string
- Minimum move to end operations to make all strings equal
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.