Given the following permutation of a,b,c,d,e,f,g,h,i,j, what is the previous permutation in lexicographic (dictionary) order? Write your answer without any blank spaces between letters.
fjadcbeghi
Answers
Answered by
6
You can try by using the given algorithm to generate the permutation lexicographically after giving the permutation.
Algorithm
- First of all Find the highest index as i such as s[i] < s[i+1]. If suppose an index exists, the permutation will has last permutation.
- Again fiind the highest index like j > i such that s[j] > s[i]. Such that j must exist, since i+1 is such an index.
- Swap s[i] with s[j].
- Reverse all of the elements in order after index i till the last element.
Answered by
30
The next word is eibjfacdgh
Finding the next lexicographical word using python library functions. However, it is ideal for smaller lists only.
Language used : Python Programming
Program : [Suitable for smaller lists]
from itertools import permutations
st=['a','b','c','d','e','f','g','h','i','j']
y=tuple('eibjdhgfca')
#you can take any word into 'y' using input function, dynamically to find the next word.
st=permutations(list(st))
st=sorted(st)
ind=st.index(y)
print(''.join(st[ind+1]))
Output :
eibjfacdgh
Explanation :
- Assign the letters needed to form the words with, as a list, into a variable.
- Take a word whose next word we need to find in dictionary order, as directly (statically) into another variable. You can take it dynamically too from the user, using str(input()) function.
- Using the permutations function, list all the permutations of the given list of letters and store the permutations list into a variable.
- Sort the permutations list using sorted() that sorts the values into dictionary order.
- Now find the index of the word taken whose next value we need to find.
- Then access that word's index+1 th value from the list which will be the word we are looking for. That's it!
Learn more :
- Printing all the palindromes formed by a palindrome word.
brainly.in/question/19151384
- Indentation is must in python. Know more about it at :
brainly.in/question/17731168
Similar questions