Given a string S, print those permutations of string S which are lexicographically greater than S. If there is no such permutation of string, print -1.
Input : BCA
Output : CAB, CBA
Here, S = “BCA”, and there are 2 strings “CAB, CBA” which are lexicographically greater than S.
Input : CBA
Output : -1
There is no string which is lexicographically greater than S, so the output is -1.
Approach: To solve the problem mentioned above we will use STL. Use next_permuation() and prev_permutation() functions to check and the lexicographically greater strings. If the string is greater then print it otherwise print -1.
Below is the implementation of above approach:
ACB BAC BCA CAB CBA
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Print all permutations of a number N greater than itself
- Print all the combinations of a string in lexicographical order
- Print all palindrome permutations of a string
- Print all permutations of a string in Java
- Write a program to print all permutations of a given string
- Print all distinct permutations of a given string with duplicates
- Java Program to print distinct permutations of a string
- Print first n distinct permutations of string using itertools in Python
- Print all the palindromic permutations of given string in alphabetic order
- Print all longest common sub-sequences in lexicographical order
- Print all distinct circular strings of length M in lexicographical order
- K-th lexicographical string of given length
- Lexicographical concatenation of all substrings of a string
- Lexicographical Maximum substring of string
- Find the k-th string in lexicographical order consisting of n-2 X's and 2 Y's
- Largest lexicographical string with at most K consecutive elements
- Print the two possible permutations from a given sequence
- Print k different sorted permutations of a given array
- Print all permutations with repetition of characters
- Find Kth largest string from the permutations of the string with two characters
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.