Print Anagrams Together Python
- Get link
- X
- Other Apps
PROGRAM TO PRINT ALL ANAGRAMS TOGETHER
from collections import defaultdict# Utility function for# printing anagram listdef printAnagram(store: dict) -> None: for (k, v) in store.items(): temp_vec = v size = len(temp_vec) if (size > 1): for i in range(size): print(temp_vec[i], end = " ") print()# Utility function for storing# the vector of strings into HashMapdef storeInMap(vec: list) -> None: store = defaultdict(lambda: list) for i in range(len(vec)): tempString = vec[i] tempString = ''.join(sorted(tempString)) # Check for sorted string # if it already exists if (tempString not in store): temp_vec = [] temp_vec.append(vec[i]) store[tempString] = temp_vec else: # Push new string to # already existing key temp_vec = store[tempString] temp_vec.append(vec[i]) store[tempString] = temp_vec # Print utility function for # printing all the anagrams printAnagram(store)# Driver codeif __name__ == "__main__": # Initialize vector of strings arr = [] arr.append("geeksquiz") arr.append("geeksforgeeks") arr.append("abcd") arr.append("forgeeksgeeks") arr.append("zuiqkeegs") arr.append("cat") arr.append("act") arr.append("tca") # Utility function for storing # strings into hashmap storeInMap(arr)
OUTPUT
cat act tca geeksforgeeks forgeeksgeeks geeksquiz zuiqkeegs
CREDITS: https://www.geeksforgeeks.org/given-a-sequence-of-words-print-all-anagrams-together-using-stl/
- Get link
- X
- Other Apps
Comments
Post a Comment