Print Anagrams Together Python
- Get link
- X
- Other Apps
PROGRAM TO PRINT ALL ANAGRAMS TOGETHER
from
collections
import
defaultdict
# Utility function for
# printing anagram list
def
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 HashMap
def
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 code
if
__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