Python | Permutation of a given string using inbuilt function
A permutation, also called an “arrangement number” or “order”, is a rearrangement of the elements of an ordered list S into a one-to-one correspondence with S itself. A string of length n has n! permutation. Examples:
Input : str = 'ABC' Output : ABC ACB BAC BCA CAB CBA
We have existing solution for this problem please refer Permutations of a given string using STL link. We can also solve this problem in python using inbuilt function permutations(iterable).
Python3
# Function to find permutations of a given string from itertools import permutations def allPermutations( str ): # Get all permutations of string 'ABC' permList = permutations( str ) # print all permutations for perm in list (permList): print (''.join(perm)) # Driver program if __name__ = = "__main__": str = 'ABC' allPermutations( str ) |
Output:
ABC ACB BAC BCA CAB CBA
Permutation and Combination in Python Permutations of a given string with repeating characters The idea is to use dictionary to avoid printing duplicates.
Python3
from itertools import permutations import string s = "GEEK" a = string.ascii_letters p = permutations(s) # Create a dictionary d = [] for i in list (p): # Print only if not in dictionary if (i not in d): d.append(i) print (''.join(i)) |
Output:
GEEK GEKE GKEE EGEK EGKE EEGK EEKG EKGE EKEG KGEE KEGE KEEG
Time Complexity: O(n!) where n is the size of the string.
Auxiliary Space: O(n!)
Please Login to comment...