Given a string str, the task is to count the maximum number of possible operations that can be performed on str. An operation consists of taking a sub-sequence ‘gks’ from the string and removing it from the string.
Input: str = "ggkssk" Output: 1 After 1st operation: str = "gsk" No further operation can be performed. Input: str = "kgs" Output: 0
- Take three variables g, gk and gks which will store the occurrence of the sub-sequences ‘g’, ‘gk’ and ‘gks’ respectively.
- Traverse the string character by character:
- If str[i] = ‘g’ then update g = g + 1.
- If str[i] = ‘k’ and g > 0 then update g = g – 1 and gk = gk + 1 as previously found ‘g’ now contributes in the sub-sequence ‘gk’ along with the current ‘k’.
- Similarly, if str[i] = ‘s’ and gk > 0 then update gk = gk – 1 and gks = gks + 1.
- Print the value of gks in the end.
Below is the implementation of the above approach:
- Maximum length prefix of one string that occurs as subsequence in another
- Find number of times a string occurs as a subsequence in given string
- Find length of longest subsequence of one string which is substring of another string
- String with maximum number of unique characters
- Maximum number of characters between any two same character in a string
- Maximum number of given operations to remove the entire string
- Maximum even sum subsequence
- Subsequence with maximum odd sum
- Maximum Sum Subsequence of length k
- Printing Maximum Sum Increasing Subsequence
- Maximum product of subsequence of size k
- Maximum length subsequence possible of the form R^N K^N
- Maximum Bitwise AND value of subsequence of length K
- Find the Increasing subsequence of length three with maximum product
- Queries on subsequence of string
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.