Given a string S. The task is to print the K-th lexicographically smallest one among the different substrings of s.
A substring of s is a string obtained by taking out a non-empty contiguous part in s.
For example, if s = ababc, a, bab and ababc are substrings of s, while ac, z and an empty string are not. Also, we say that substrings are different when they are different as strings.
Input: str = “aba”, k = 4
All unique substrings are a, ab, aba, b, ba.
Thus the 4th lexicographically smallest substring is b.
Input: str = “geeksforgeeks”, k = 5
Approach: For an arbitrary string t, each of its proper suffix is lexicographically smaller than t, and the lexicographic
rank of t is at least |t|. Thus, the length of the answer is at most K.
Generate all substrings of s whose lengths are at most K. Sort them, unique them, and print the K-th one, where N = |S|.
Below is the implementation of the above approach:
- Lexicographically smallest and largest substring of size k
- Lexicographically smallest substring with maximum occurrences containing a's and b's only
- Check if string can be made lexicographically smaller by reversing any substring
- Lexicographically smallest string formed by appending a character from first K characters of a string | Set 2
- Lexicographically smallest string formed by appending a character from the first K characters of a given string
- Find the longest substring with k unique characters in a given string
- Lexicographically smallest string whose hamming distance from given string is exactly K
- Lexicographically smallest string of length N and sum K
- Lexicographically smallest permutation of a string with given subsequences
- Queries to answer the X-th smallest sub-string lexicographically
- Find the lexicographically smallest string which satisfies the given condition
- Lexicographically smallest string obtained after concatenating array
- Lexicographically smallest string formed by removing at most one character
- Swap all occurrences of two characters to get lexicographically smallest string
- Generate lexicographically smallest string of 0, 1 and 2 with adjacent swaps allowed
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.