Given two strings s and t. The task is to find maximum length of some prefix of the string S which occur in string t as subsequence.
Input : s = "digger" t = "biggerdiagram" Output : 3 digger biggerdiagram Prefix "dig" of s is longest subsequence in t. Input : s = "geeksforgeeks" t = "agbcedfeitk" Output : 4
A simple solutions is to consider all prefixes on by one and check if current prefix of s is a subsequence of t or not. Finally return length of the largest prefix.
An efficient solution is based on the fact that to find a prefix of length n, we must first find the prefix of length n – 1 and then look for s[n-1] in t. Similarly, to find a prefix of length n – 1, we must first find the prefix of length n – 2 and then look for s[n – 2] and so on.
Thus, we keep a counter which stores the current length of prefix found. We initialize it with 0 and begin with the first letter of s and keep iterating over t to find the occurrence of the first letter. As soon as we encounter the first letter of s we update the counter and look for second letter. We keep updating the counter and looking for next letter, until either the string s is found or there are no more letters in t.
Below is the implementation of this approach:
This article is contributed by Anuj Chauhan. 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 write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- Find number of times a string occurs as a subsequence in given string
- Count maximum occurrence of subsequence in string such that indices in subsequence is in A.P.
- Maximum length Subsequence with alternating sign and maximum Sum
- Maximum Sum Subsequence of length k
- Maximum Bitwise AND value of subsequence of length K
- Maximum length subsequence possible of the form R^N K^N
- Find length of longest subsequence of one string which is substring of another string
- Find the Increasing subsequence of length three with maximum product
- Count subsequence of length three in a given string
- Maximum length prefix such that frequency of each character is atmost number of characters with minimum frequency
- Longest subsequence where each character occurs at least k times
- Lexicographically largest subsequence such that every character occurs at least k times
- Maximum number of removals of given subsequence from a string
- Find the first maximum length even word from a string
- Maximum even length sub-string that is permutation of a palindrome