This project is an improvised version of the renowned KMP (Knuth-Morris-Pratt) algorithm.
As we know, the KMP algorithm searches for the occurrences of a "word" W within a main "text string" S with having a worst-case time complexity of O(n).
The basic idea behind this project is to find the lexicographically smallest anagram of "text string" S that contains "word" W as a substring.
The program takes S and W as input strings respectively and prints the lexicographically smallest anagram of S containing W as its substring.
Constraints:
> 1<=|P|<=|S|<=100000
> S and P can possess only lowercase English letters
> there is at least one anagram of S that contains P
The time complexity of the program is O(n).
Submitted by Ayush Agrawal (ayushagrawal41)
Download packets of source code on Coders Packet
Comments